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.
std::vector<String> Variants
Variant names; the unnamed base variant is always Variants[0] (empty name).
std::vector<TextureDirective> Textures
Sampler texture-unit assignments (explicit hints and the implicit canvas TEXTURE).
std::vector<SourceLine> Prelude
Shared globals emitted before both stage bodies.
std::vector<SourceLine> VertexLines
Raw (unpreprocessed) vertex-stage GLSL line stream.
std::vector<SourceLine> FragmentLines
Raw (unpreprocessed) fragment-stage GLSL line stream.
std::vector<FixedFunctionBlock> 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.