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.