Processes a shader source and replaces all chunk placeholders. Placeholders are formatted as: [CHUNK_ID]
The shader source code.
The language to use for chunks.
The source code with all placeholders replaced.
Gets a shader definition by its ID. If not found, it checks if a provider is registered for this ID.
The ID of the shader.
The shader definition or undefined if not found.
Gets a shader chunk by its ID and language.
The ID of the chunk.
The language of the chunk.
The source code of the chunk or undefined if not found.
Registers a new shader definition.
The shader definition to register.
Registers a shader chunk for a specific language.
The ID of the chunk (e.g., "LIGHTING_PHONG").
The source code of the chunk.
The language of the code.
Registers a provider that can supply a shader definition on demand.
The shader ID.
The provider instance.
Central registry for shader definitions.