Module dagon.graphics.shader

Provides classes and utilities for OpenGL shader management.

The dagon.graphics.shader module defines the Shader class for managing OpenGL shader programs, uniform, subroutine and UBO parameters, and binding logic. The module also includes ShaderProgram for program compilation/linking.

Functions

NameDescription
globalShaderDefine(defineName, defineValue) Global shader macro define. To use in GLSL, add #include

Classes

NameDescription
BaseShaderParameter Abstract base class for shader parameters (uniforms and subroutines). Stores parameter name, location, and binding logic.
BaseShaderProgram A shader program class that can be shared between multiple Shader instances. Manages OpenGL program object.
Shader Basic shader class.
ShaderCache Global shader cache for saving and loading compiled shader binaries.
ShaderParameter Represents a shader uniform parameter of type T. Supports binding values, references, or callbacks for automatic updates.
ShaderParameterArray Represents a shader uniform array parameter of type T[].
ShaderProgram Represents a compiled and linked shader program with vertex and fragment shaders.
ShaderSubroutine Represents a shader subroutine parameter. Allows selection of subroutine implementations for vertex or fragment shaders.
UniformBlockParameter Represents a std140 uniform block parameter (UBO) of type T for passing arrays of structures to shaders.

Enums

NameDescription
ShaderType Shader type enumeration.