MaterialCompileRequest class final

What a MaterialCompiler is asked to compile: one growing object, so a later minor that hands a compiler something more adds a member here and breaks no compiler.

Constructors

MaterialCompileRequest({required String name, required String from, required String source, required List<MaterialStageSource> stages, Map<String, String> engineSources = const <String, String>{}, bool atRunTime = false, Map<String, Object?> options = const <String, Object?>{}})
const

Properties

atRunTime → bool
Whether the game is running: a compiler that cannot compile without a toolchain the game does not ship refuses here (see MaterialCompiler.compilesAtRunTime).
final
engineSources → Map<String, String>
The engine's GLSL headers by path, what the stages #include.
final
from → String
Where the source came from — a path, a plugin's id — for messages.
final
hashCode → int
The hash code for this object.
no setterinherited
name → String
The material's name, which every stage's entry point starts with.
final
options → Map<String, Object?>
What the backend's own compiler takes beside the rest, by name — the engine stage a WebGPU material is spliced into, say. A compiler reads the keys it knows and ignores the others.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
source → String
The .f3dmat source itself.
final
stages → List<MaterialStageSource>
The stages the engine's emitter wrote from source, in GLSL.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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

Constants

webGpuStagesOption → const String
The key of options under which a caller hands WebGPU's compiler the stages it already wrote as WGSL, a Map<String, PackedStage> by stage name: the build writes them with glslang and naga, RuntimeShaders from the material's tree.