One Lambert variant of a DrawTechniqueRecord. Carries its own vertex / fragment shader source pair plus the constructor name of the underlying DrawTechnique so tools can disambiguate identically-named entries.

interface ShaderVariantRecord {
    className: string;
    config: DrawTechniqueConfig;
    fragmentShaderCommentedSrc: string;
    fragmentShaderSrc: string;
    vertexShaderCommentedSrc: string;
    vertexShaderSrc: string;
}

Hierarchy (View Summary)

Properties

className: string

Constructor name of the underlying DrawTechnique subclass that compiled this variant — e.g. "TrianglesDrawColorTechnique". Useful for filtering and for distinguishing two passes that share a base technique (e.g. opaque + transparent both refer to the same TrianglesDrawColorTechnique).

Compile-time technique config — same shape as the parent record's config, captured per-variant so variant-specific differences (rare today but possible) stay visible.

fragmentShaderCommentedSrc: string

The original shader source code, with comments included. This may be more readable for debugging purposes, but may not be valid GLSL source that can be compiled by WebGL.

fragmentShaderSrc: string

The original shader source code, with comments removed.

vertexShaderCommentedSrc: string

The original shader source code, with comments included. This may be more readable for debugging purposes, but may not be valid GLSL source that can be compiled by WebGL.

vertexShaderSrc: string

The original shader source code, with comments removed.