Skip to main content

Interface: MaterialExtension

Core-API.MaterialExtension

Implemented by

Properties

parsFragmentSnippet

Optional parsFragmentSnippet: string | (renderer?: WebGLRenderer, material?: IMaterial<any, IMaterialEventMap>) => string


parsVertexSnippet

Optional parsVertexSnippet: string | (renderer?: WebGLRenderer, material?: IMaterial<any, IMaterialEventMap>) => string


extraUniforms

Optional extraUniforms: Object

Index signature

[uniform: string]: IUniform


extraDefines

Optional extraDefines: Record<string, string | number>


customCacheKey

Optional customCacheKey: string


updaters

Optional updaters: IShaderPropertiesUpdater[] | () => IShaderPropertiesUpdater[]


updateVersion

Optional updateVersion: number


uuid

Optional uuid: string

Methods

shaderExtender

Optional shaderExtender(shader, material, renderer): void

Parameters

NameType
shaderShader & { defines: any }
materialIMaterial<any, IMaterialEventMap>
rendererWebGLRenderer

Returns

void


computeCacheKey

Optional computeCacheKey(material): string

Parameters

NameType
materialIMaterial<any, IMaterialEventMap>

Returns

string


onObjectRender

Optional onObjectRender(object, material, renderer): void

Parameters

NameType
objectObject3D<Object3DEventMap>
materialIMaterial<any, IMaterialEventMap>
rendererWebGLRenderer

Returns

void


onAfterRender

Optional onAfterRender(object, material, renderer): void

Parameters

NameType
objectObject3D<Object3DEventMap>
materialIMaterial<any, IMaterialEventMap>
rendererWebGLRenderer

Returns

void


onMaterialUpdate

Optional onMaterialUpdate(material): void

Parameters

NameType
materialIMaterial<any, IMaterialEventMap>

Returns

void


onAddToMesh

Optional onAddToMesh(mesh, material): void

Parameters

NameType
meshObject3D<Object3DEventMap>
materialIMaterial<any, IMaterialEventMap>

Returns

void


onRemoveFromMesh

Optional onRemoveFromMesh(mesh, material): void

Parameters

NameType
meshObject3D<Object3DEventMap>
materialIMaterial<any, IMaterialEventMap>

Returns

void


onRegister

Optional onRegister(material): void

Parameters

NameType
materialIMaterial<any, IMaterialEventMap>

Returns

void


isCompatible

isCompatible(material): boolean

Parameters

NameType
materialIMaterial<any, IMaterialEventMap>

Returns

boolean


getUiConfig

Optional getUiConfig(material): undefined | UiObjectConfig<any, string>

Parameters

NameType
materialIMaterial<any, IMaterialEventMap>

Returns

undefined | UiObjectConfig<any, string>


__setDirty

Optional __setDirty(): void

Returns

void


setDirty

Optional setDirty(): void

Returns

void