27 lines
1.1 KiB
Markdown

# 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
- A GLSL Version Transpiler (transpiles between GLSL ES 3.00, GLSL ES 1.00).
### 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.