This API is experimental
Its behavior may change in a future version of p5.js.
Get the default shader used with lights, materials, and textures.
You can call baseMaterialShader().modify()
and change any of the following hooks:
Hook | Description |
---|---|
| Called at the start of the vertex shader. |
| Update the position of vertices before transforms are applied. It takes in |
| Update the position of vertices after transforms are applied. It takes in |
| Update the normal before transforms are applied. It takes in |
| Update the normal after transforms are applied. It takes in |
| Update the texture coordinates. It takes in |
| Update the color of each vertex. It takes in a |
| Called at the end of the vertex shader. |
| Called at the start of the fragment shader. |
| Update the per-pixel inputs of the material. It takes in an
|
| Take in a
|
| Update the final color after mixing. It takes in a |
| Called at the end of the fragment shader. |
Most of the time, you will need to write your hooks in GLSL ES version 300. If you are using WebGL 1 instead of 2, write your hooks in GLSL ES 100 instead.
Call baseMaterialShader().inspectHooks()
to see all the possible hooks and their default implementations.
Examples
Returns
Related References
copyToContext
Copies the shader from one drawing context to another.
inspectHooks
Logs the hooks available in this shader, and their current implementation.
modify
Returns a new shader, based on the original, but with custom snippets of shader code replacing default behaviour.
setUniform
Sets the shader’s uniform (global) variables.