Overview
@luma.gl/shadertools
provides:
- a shader module system that enables applications to compose portable shaders from libraries of shader modules
- together with a core library of shader modules that applications can add to their own shaders to add features such as lighting, picking, image processing and more.
info
The @luma.gl/shadertools
module only performs textual processing on shader source code. It does not use or depend on the WebGL or WebGPU APIs or any other luma.gl module.
Features
Shader Modules
- A Shader Module system allowing
- A Shader Pass system allowing simple description and chaining of post processing effects.
- A props to uniforms mapping system
- A selection of shader modules and shader passes
Shader Injections
A number of shader injection points are defined by the system, letting applications inject custom code into shaders.
Shader Hooks
To allow shader modules to have more control in the modification of the application's shaders, a set of shader modules can define shader hooks.