SplatDrawPass class

Renders Gaussian splats using depth-sorted order and instanced drawing.

Inheritance

Constructors

SplatDrawPass({required SplatSource source, required OrderTexture order, bool disableAlphaWrite = true, double maxSplatPixelSize = 1024.0, String vsAsset = 'packages/flutter_gaussian_splatter/shaders/vertex.glsl', String fsAsset = 'packages/flutter_gaussian_splatter/shaders/frag.glsl'})
Creates a splat drawing pass with the given source data and order texture.

Properties

disableAlphaWrite ↔ bool
Saves GPU memory bandwidth by preventing writes to the alpha channel of the framebuffer. Benefit: Reduces GPU memory bandwidth by ~25% (writing 3 channels instead of 4) Cost: Can't composite the rendered texture with other elements using its alpha channel (needed to blend with Flutter UI)
getter/setter pair
fsAsset → String
Asset path to the fragment shader.
final
hashCode → int
The hash code for this object.
no setterinherited
maxSplatPixelSize → double
Maximum allowed splat size in pixels before culling.
final
name → String
Stable, human-readable name for logs/profiling.
no setteroverride
order → OrderTexture
Texture containing depth-sorted splat indices.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
source → SplatSource
Source of Gaussian splat data and textures.
final
vsAsset → String
Asset path to the vertex shader.
final

Methods

dispose(RenderingContext gl) → void
Free GL resources. Safe to call multiple times.
override
execute(RenderingContext gl, Camera cam, {Matrix4? projectionMatrix, Matrix4? viewMatrix}) → void
Record commands and draw.
override
init(RenderingContext gl, {Caps? caps}) → Future<void>
Create GL objects, compile shaders, cache uniform locations.
override
injectAfterVersion(String src, String defineLine) → String
Injects a shader define after the #version directive.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onSourceChanged() → void
Call when splat count changes.
resize(RenderingContext gl, int width, int height) → void
Resize/retarget any size-dependent resources (if any).
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited