mirror of
https://github.com/visgl/luma.gl.git
synced 2025-12-08 17:36:19 +00:00
27 lines
1.1 KiB
Markdown
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.
|