class

GS::GaussianSplatting::RasterizerContext

Inherits Reference < Object

Context holding all intermediate data needed for backward pass

Constructors

new(width : Int32, height : Int32, gaussian_count : Int32, device : Tensor::Device = Tensor::Device::GPU)
Source

Instance methods

allocate_tile_buffers(max_keys : Int32) : Nil

Allocate tile buffers based on expected key count

Source
background

Background color

Source
background=(background : Tuple(Float32, Float32, Float32))

Background color

Source
colors
Source
colors=(colors : Tensor)
Source
cov2d
Source
cov2d=(cov2d : Tensor)
Source
cov3d
Source
cov3d=(cov3d : Tensor)
Source
depths
Source
depths=(depths : Tensor)
Source
final_transmittance
Source
final_transmittance=(final_transmittance : Tensor)
Source
gaussian_ids
Source
gaussian_ids=(gaussian_ids : MetalBuffer | Nil)
Source
height
Source
height=(height : Int32)
Source
mean2d

Per-gaussian projected data

Source
mean2d=(mean2d : Tensor)

Per-gaussian projected data

Source
n_contrib

Per-pixel data for backward

Source
n_contrib=(n_contrib : Tensor)

Per-pixel data for backward

Source
num_rendered
Source
num_rendered=(num_rendered : Int32)
Source
num_tiles

Get number of tiles

Source
radii
Source
radii=(radii : Tensor)
Source
release_tile_buffers

Release tile buffers back to pool

Source
rendered_image

Output image

Source
rendered_image=(rendered_image : Tensor)

Output image

Source
resize_gaussians(new_count : Int32) : Nil

Resize context for different gaussian count

Source
resize_image(new_width : Int32, new_height : Int32) : Nil

Resize for different image dimensions

Source
tile_keys

Tile binning data

Source
tile_keys=(tile_keys : MetalBuffer | Nil)

Tile binning data

Source
tile_ranges
Source
tile_ranges=(tile_ranges : MetalBuffer | Nil)
Source
tiles_x
Source
tiles_x=(tiles_x : Int32)
Source
tiles_y
Source
tiles_y=(tiles_y : Int32)
Source
valid?

Check if context is valid for rendering

Source
width

Camera info

Source
width=(width : Int32)

Camera info

Source