ShaderCompiler::ShaderDocument struct

Lowered ".shader" document — directives plus raw (unpreprocessed) per-stage GLSL line streams.

Public variables

String ProgramName
Program name from the "program" directive.
SmallVector<String, 0> Variants
Variant names; the unnamed base variant is always Variants[0] (empty name).
SmallVector<TextureDirective, 0> Textures
Sampler texture-unit assignments (explicit hints and the implicit canvas TEXTURE).
SmallVector<SourceLine, 0> Prelude
Shared globals emitted before both stage bodies.
SmallVector<SourceLine, 0> VertexLines
Raw (unpreprocessed) vertex-stage GLSL line stream.
SmallVector<SourceLine, 0> FragmentLines
Raw (unpreprocessed) fragment-stage GLSL line stream.
SmallVector<FixedFunctionBlock, 0> FixedFunctionBlocks
Captured "fixed_function" blocks (empty for shaders with no console fixed-function implementation); a batched twin shares its primary's blocks.
std::uint32_t RenderModes
Bitmask of RenderModeMask flags (0 when no "render_mode" is declared).
bool HasVertexStage
Whether the document declares a vertex stage.
bool HasFragmentStage
Whether the document declares a fragment stage.