UnlitMaterial class Materials
A material that draws geometry with a flat color or texture, ignoring scene lighting.
Useful for UI overlays, debug visualization, or stylized rendering.
The final color is baseColorFactor * baseColorTexture, optionally
blended with the per-vertex color via vertexColorWeight.
Wraps the UnlitFragment shader from the base shader library.
Constructors
- UnlitMaterial({TextureSource? colorTexture})
- Creates an UnlitMaterial, optionally textured.
Properties
- alphaMode ↔ AlphaMode
-
How the material's alpha is interpreted. AlphaMode.opaque ignores
alpha; AlphaMode.blend routes the material through the depth-sorted
translucent pass with alpha blending (use for widget textures and
other surfaces with transparency).
getter/setter pair
- baseColorFactor ↔ Vector4
-
Linear RGBA tint multiplied with baseColorTexture.
getter/setter pair
- baseColorTexture ↔ TextureSource?
-
The base color texture, sampled and multiplied by baseColorFactor.
getter/setter pair
- 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
-
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 a snapshot of the scene color
taken after the opaque phase (splitting the scene pass in two).
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 setterinherited - vertexColorWeight ↔ double
-
How strongly per-vertex colors influence the final color.
0disables vertex color contribution;1(the default) fully applies it.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) → void -
Assigns the fragment shader by
namefrom baseShaderLibrary.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited