Skip to main content

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.