Optional__OptionalcomputeCustom cache key to use for this material extension.
A different cache key will cause the shader to be recompiled.
Check three.js docs for more info.
Value can be a string or a function that returns a string
This will only be checked if material.needsUpdate is true, not on every render.
Note: extension might never be registered if an empty string is returned.
OptionalextraExtra defines to copy to material Note: boolean are converted to 0 and 1
OptionalextraExtra uniforms to copy to material
OptionalgetFunction to return the UI config for this material extension. This is called once when the material extension is registered.
OptionalisFunction to check if this material extension is compatible with the given material. If not compatible, the material extension will not be added to the material. This is only checked when the extension is registered.
The extension is assumed to be compatible if this function is not defined
OptionalonCustom callback to run code when the material is added/applied to a mesh or any Object3D.
OptionalonCustom callback to run code after the material is rendered
Executes from material.onAfterRender for each material for each object it's rendered on.
OptionalonCustom callback to run code when the material is updated. (when materialUpdate event is dispatched on the material)
OptionalonCustom callback to run code before the material is rendered
Executes from material.onBeforeRender for each material for each object it's rendered on.
OptionalonCustom callback to run code when this material extension is registered to a material.
OptionalonCustom callback to run code when the material is removed from a mesh or any Object3D.
OptionalonCustom callback to run code when this material extension is unregistered from a material.
OptionalparsExtra code to add to the top of the fragment shader Value can be a string or a function that returns a string
OptionalparsExtra code to add to the top of the vertex shader Value can be a string or a function that returns a string
OptionalpriorityHigher priority extensions are applied first. (or as they are added, depends on the type of extension)
OptionalsetOptionalshaderCustom callback to extend/modify/replace shader code and other shader properties
OptionalupdatersList of shader properties updaters to run on the material.
OptionalupdateOptionaluuid
Material extension interface This is used to extend a three.js material satisfying the IMaterial interface, with extra uniforms, defines, shader code, etc.