rtgs.ray_tracer
¶
Ray tracer Gaussian splatting renderer.
Module Contents¶
Classes¶
API¶
- class rtgs.ray_tracer.RayTracer(buf_size: rtgs.utils.types.vec2i, scene: rtgs.scene.Scene, camera: rtgs.camera.Camera)¶
Initialization
- scene: rtgs.scene.Scene = None¶
- camera: rtgs.camera.Camera = None¶
- sample_buf: taichi.Field = None¶
- attenuation_buf: taichi.Field = None¶
- num_steps: taichi.i32 = None¶
- num_samples: taichi.i32 = None¶
- disp_buf: taichi.Field = None¶
- sample(depth: int)¶
Accumulate one sample to the sample buffer.
- Parameters:
depth – ray depth (the maximum number of gaussian hit per ray).
- clear_sample()¶
Clear sample buffer.
- clear_attenuation()¶
Clear light attenuation field.
- generate_disp_buffer(num_samples: taichi.i32, num_steps: taichi.i32, num_depth: taichi.i32)¶
Generate display buffer from sample buffer (average n samples).
- sample_step()¶
One sample iteration that cast camera ray field in the scene and accumulate radiance into sample buffer. This kernel only accumulate one Gaussian.