SpriteMaterial class Materials
A material for camera-facing quads drawn by BillboardGeometry.
Samples colorTexture at the billboard's (flipbook-aware) UV, multiplies by the per-instance color and tint, and outputs linear HDR premultiplied alpha. blendMode chooses alpha vs additive compositing; both run in the renderer's one translucent pass.
Sprites are always treated as translucent (so they are depth-sorted against the scene and skip the shadow and depth passes) and are drawn double-sided, since a camera-facing quad's winding is not meaningful.
Wraps the SpriteFragment shader from baseShaderLibrary.
Constructors
- SpriteMaterial({TextureSource? colorTexture})
- Creates a SpriteMaterial, optionally textured.
Properties
- blendMode ↔ SpriteBlendMode
-
How sprites of this material composite into the scene.
getter/setter pair
- cameraNearFade ↔ double
-
Camera fade distance in world units,
0(the default) off. Sprites dissolve as the camera gets within this distance, so it never clips through a hard-edged quad.getter/setter pair - colorTexture ↔ TextureSource?
-
The sprite's color texture, sampled and multiplied by the per-instance
color and tint. Accepts a Texture2D or a
RenderTexture; an empty slot resolves to a 1x1 white placeholder.getter/setter pair - depthBias ↔ double
-
World-space offset toward the camera used for coplanar surface details.
Positive values keep an overlay in front of its supporting surface
without modifying its node transform. Zero and negative values leave the
draw position unchanged. A fixed world offset provides fewer depth-buffer
units as camera distance grows, so distant coplanar surfaces may need a
larger value.
getter/setter pairinherited
- doubleSided ↔ bool
-
Whether to render both faces of triangles drawn with this material
(glTF's
material.doubleSided). When true, bind disables back-face culling so the geometry is visible from both sides; otherwise back faces are culled. Defaults to false. The runtime importer sets it from the glTF material.getter/setter pairinherited - fragmentShader → Shader
-
The fragment shader used when rendering geometry with this material.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- name ↔ String
-
The name of this material, used for identification.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sampler ↔ SamplerOptions
-
The sampler used for colorTexture. Defaults to linear filtering with
edge clamping, which suits both single sprites and flipbook atlases.
getter/setter pair
-
sceneInputs
→ Set<
RenderInput> -
Per-frame engine inputs this material samples, produced only when a
visible material asks for them: RenderInput.depth binds the linear
scene depth of the opaque geometry (forcing the depth prepass), and
RenderInput.opaqueSceneColor binds the accumulated scene color behind
the current draw, and RenderInput.filteredSceneColor adds its
roughness-filtered atlas.
Together they enable refraction, depth-fade absorption, shoreline
foam, and soft-particle style effects on translucent surfaces. The
base material requests nothing; a
.fmatmaterial declares these withengine_inputs:.no setteroverride - softDepthFade ↔ double
-
Soft-particle fade distance in world units,
0(the default) off.getter/setter pair - tint ↔ Vector4
-
Linear RGBA tint multiplied into every sprite of this material.
getter/setter pair
Methods
-
bind(
RenderPass pass, TransientWriter transientsBuffer, Lighting lighting) → void -
Binds this material's render-pass state, uniforms, and textures.
override
-
isOpaque(
) → bool -
Whether geometry rendered with this material is fully opaque.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setFragmentShader(
Shader shader) → void -
Assigns the fragment
shaderused when this material is drawn.inherited -
setFragmentShaderName(
String name, {String? cubeName}) → void -
Assigns the fragment shader by
namefrom baseShaderLibrary.inherited -
setRadianceCubeFragmentShader(
Shader? shader) → void -
Assigns the already-loaded variant built with
FLUTTER_SCENE_RADIANCE_CUBE, the counterpart of setFragmentShader for a material that samples the environment.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited