Gaussian splatting¶
Data¶
-
class GaussianDataStandard¶
Backends¶
-
class VulkanGaussianSplatting : public virtual klartraum::RenderGraphElement, public virtual klartraum::ComputeGraphGroup¶
-
struct GsplatConfig¶
Operations on Gaussians¶
-
class GaussianTransform : public klartraum::GeneralComputation<GaussianTransformPushConstants>¶
Writes transformed copies of Gaussians every time the graph runs.
Positions, orientations and sizes move by a transform buffer (see TransformBuffer), SH coefficients rotate with the scene (shaders/gaussians/transform_gaussians.comp). The output is per-path, so a frame in flight keeps its Gaussians while the next one is written.
-
class GaussianMerge : public klartraum::GeneralComputation<GaussianMergePushConstants>¶
Concatenates two sets of Gaussians every time the graph runs.
A’s Gaussians come first, so one backend renders and depth-sorts both (shaders/gaussians/merge_gaussians.comp). The output is per-path.
-
class TransformBuffer : public klartraum::GeneralComputation<void>¶
Builds a transform buffer for GaussianTransform from seven scalars.
Reads translation x, y, z, rotation pitch, yaw, roll in degrees (about X, then Y, then Z) and a uniform scale, each from the first float of its buffer, e.g. a HostFloat the CPU animates. Writes translation, scale, the rotation quaternion and the rotation matrices of the three SH bands (shaders/gaussians/make_transform.comp). One invocation per run.