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.

Inheritance

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 .fmat material declares these with engine_inputs:.
no setterinherited
vertexColorWeight double
How strongly per-vertex colors influence the final color. 0 disables 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 shader used when this material is drawn.
inherited
setFragmentShaderName(String name) → void
Assigns the fragment shader by name from baseShaderLibrary.
inherited
toString() String
A string representation of this object.
inherited

Operators

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