Skip to content

Documentation / scene / PBRBluePrintMaterialInstance

Class: PBRBluePrintMaterialInstance

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:192

Blueprint material instance asset.

Inherits graph/IR from a parent blueprint material and only stores parameter overrides. Instances are asset-level indirections, distinct from MeshMaterial runtime instancing.

Extends

Constructors

Constructor

new PBRBluePrintMaterialInstance(parentMaterial?, parentMaterialId?): PBRBluePrintMaterialInstance

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:201

Parameters

parentMaterial?

PBRBluePrintMaterial

parentMaterialId?

string = ''

Returns

PBRBluePrintMaterialInstance

Overrides

PBRBluePrintMaterial.constructor

Properties

occlusionTexture

occlusionTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.occlusionTexture


occlusionTextureSampler

occlusionTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.occlusionTextureSampler


occlusionTexCoordIndex

occlusionTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.occlusionTexCoordIndex


occlusionTexCoordMatrix

occlusionTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.occlusionTexCoordMatrix


hasOcclusionTexture

hasOcclusionTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasOcclusionTexture


getOcclusionTextureUniform

getOcclusionTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getOcclusionTextureUniform


getOcclusionTexCoord

getOcclusionTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getOcclusionTexCoord


sampleOcclusionTexture

sampleOcclusionTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleOcclusionTexture


emissiveTexture

emissiveTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.emissiveTexture


emissiveTextureSampler

emissiveTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.emissiveTextureSampler


emissiveTexCoordIndex

emissiveTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.emissiveTexCoordIndex


emissiveTexCoordMatrix

emissiveTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.emissiveTexCoordMatrix


hasEmissiveTexture

hasEmissiveTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasEmissiveTexture


getEmissiveTextureUniform

getEmissiveTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getEmissiveTextureUniform


getEmissiveTexCoord

getEmissiveTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getEmissiveTexCoord


sampleEmissiveTexture

sampleEmissiveTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleEmissiveTexture


sheenColorTexture

sheenColorTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.sheenColorTexture


sheenColorTextureSampler

sheenColorTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.sheenColorTextureSampler


sheenColorTexCoordIndex

sheenColorTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.sheenColorTexCoordIndex


sheenColorTexCoordMatrix

sheenColorTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.sheenColorTexCoordMatrix


hasSheenColorTexture

hasSheenColorTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasSheenColorTexture


getSheenColorTextureUniform

getSheenColorTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSheenColorTextureUniform


getSheenColorTexCoord

getSheenColorTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSheenColorTexCoord


sampleSheenColorTexture

sampleSheenColorTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleSheenColorTexture


sheenRoughnessTexture

sheenRoughnessTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.sheenRoughnessTexture


sheenRoughnessTextureSampler

sheenRoughnessTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.sheenRoughnessTextureSampler


sheenRoughnessTexCoordIndex

sheenRoughnessTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.sheenRoughnessTexCoordIndex


sheenRoughnessTexCoordMatrix

sheenRoughnessTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.sheenRoughnessTexCoordMatrix


hasSheenRoughnessTexture

hasSheenRoughnessTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasSheenRoughnessTexture


getSheenRoughnessTextureUniform

getSheenRoughnessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSheenRoughnessTextureUniform


getSheenRoughnessTexCoord

getSheenRoughnessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSheenRoughnessTexCoord


sampleSheenRoughnessTexture

sampleSheenRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleSheenRoughnessTexture


clearcoatIntensityTexture

clearcoatIntensityTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.clearcoatIntensityTexture


clearcoatIntensityTextureSampler

clearcoatIntensityTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.clearcoatIntensityTextureSampler


clearcoatIntensityTexCoordIndex

clearcoatIntensityTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.clearcoatIntensityTexCoordIndex


clearcoatIntensityTexCoordMatrix

clearcoatIntensityTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.clearcoatIntensityTexCoordMatrix


hasClearcoatIntensityTexture

hasClearcoatIntensityTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasClearcoatIntensityTexture


getClearcoatIntensityTextureUniform

getClearcoatIntensityTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getClearcoatIntensityTextureUniform


getClearcoatIntensityTexCoord

getClearcoatIntensityTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getClearcoatIntensityTexCoord


sampleClearcoatIntensityTexture

sampleClearcoatIntensityTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleClearcoatIntensityTexture


clearcoatRoughnessTexture

clearcoatRoughnessTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.clearcoatRoughnessTexture


clearcoatRoughnessTextureSampler

clearcoatRoughnessTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.clearcoatRoughnessTextureSampler


clearcoatRoughnessTexCoordIndex

clearcoatRoughnessTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.clearcoatRoughnessTexCoordIndex


clearcoatRoughnessTexCoordMatrix

clearcoatRoughnessTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.clearcoatRoughnessTexCoordMatrix


hasClearcoatRoughnessTexture

hasClearcoatRoughnessTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasClearcoatRoughnessTexture


getClearcoatRoughnessTextureUniform

getClearcoatRoughnessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getClearcoatRoughnessTextureUniform


getClearcoatRoughnessTexCoord

getClearcoatRoughnessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getClearcoatRoughnessTexCoord


sampleClearcoatRoughnessTexture

sampleClearcoatRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleClearcoatRoughnessTexture


clearcoatNormalTexture

clearcoatNormalTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.clearcoatNormalTexture


clearcoatNormalTextureSampler

clearcoatNormalTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.clearcoatNormalTextureSampler


clearcoatNormalTexCoordIndex

clearcoatNormalTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.clearcoatNormalTexCoordIndex


clearcoatNormalTexCoordMatrix

clearcoatNormalTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.clearcoatNormalTexCoordMatrix


hasClearcoatNormalTexture

hasClearcoatNormalTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasClearcoatNormalTexture


getClearcoatNormalTextureUniform

getClearcoatNormalTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getClearcoatNormalTextureUniform


getClearcoatNormalTexCoord

getClearcoatNormalTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getClearcoatNormalTexCoord


sampleClearcoatNormalTexture

sampleClearcoatNormalTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleClearcoatNormalTexture


transmissionTexture

transmissionTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.transmissionTexture


transmissionTextureSampler

transmissionTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.transmissionTextureSampler


transmissionTexCoordIndex

transmissionTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.transmissionTexCoordIndex


transmissionTexCoordMatrix

transmissionTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.transmissionTexCoordMatrix


hasTransmissionTexture

hasTransmissionTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasTransmissionTexture


getTransmissionTextureUniform

getTransmissionTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getTransmissionTextureUniform


getTransmissionTexCoord

getTransmissionTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getTransmissionTexCoord


sampleTransmissionTexture

sampleTransmissionTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleTransmissionTexture


thicknessTexture

thicknessTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.thicknessTexture


thicknessTextureSampler

thicknessTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.thicknessTextureSampler


thicknessTexCoordIndex

thicknessTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.thicknessTexCoordIndex


thicknessTexCoordMatrix

thicknessTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.thicknessTexCoordMatrix


hasThicknessTexture

hasThicknessTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasThicknessTexture


getThicknessTextureUniform

getThicknessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getThicknessTextureUniform


getThicknessTexCoord

getThicknessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getThicknessTexCoord


sampleThicknessTexture

sampleThicknessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleThicknessTexture


iridescenceTexture

iridescenceTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.iridescenceTexture


iridescenceTextureSampler

iridescenceTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.iridescenceTextureSampler


iridescenceTexCoordIndex

iridescenceTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.iridescenceTexCoordIndex


iridescenceTexCoordMatrix

iridescenceTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.iridescenceTexCoordMatrix


hasIridescenceTexture

hasIridescenceTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasIridescenceTexture


getIridescenceTextureUniform

getIridescenceTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getIridescenceTextureUniform


getIridescenceTexCoord

getIridescenceTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getIridescenceTexCoord


sampleIridescenceTexture

sampleIridescenceTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleIridescenceTexture


iridescenceThicknessTexture

iridescenceThicknessTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.iridescenceThicknessTexture


iridescenceThicknessTextureSampler

iridescenceThicknessTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.iridescenceThicknessTextureSampler


iridescenceThicknessTexCoordIndex

iridescenceThicknessTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.iridescenceThicknessTexCoordIndex


iridescenceThicknessTexCoordMatrix

iridescenceThicknessTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.iridescenceThicknessTexCoordMatrix


hasIridescenceThicknessTexture

hasIridescenceThicknessTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasIridescenceThicknessTexture


getIridescenceThicknessTextureUniform

getIridescenceThicknessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getIridescenceThicknessTextureUniform


getIridescenceThicknessTexCoord

getIridescenceThicknessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getIridescenceThicknessTexCoord


sampleIridescenceThicknessTexture

sampleIridescenceThicknessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleIridescenceThicknessTexture


normalTexture

normalTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.normalTexture


normalTextureSampler

normalTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.normalTextureSampler


normalTexCoordIndex

normalTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.normalTexCoordIndex


normalTexCoordMatrix

normalTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.normalTexCoordMatrix


hasNormalTexture

hasNormalTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasNormalTexture


getNormalTextureUniform

getNormalTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getNormalTextureUniform


getNormalTexCoord

getNormalTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getNormalTexCoord


sampleNormalTexture

sampleNormalTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleNormalTexture


albedoTexture

albedoTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.albedoTexture


albedoTextureSampler

albedoTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.albedoTextureSampler


albedoTexCoordIndex

albedoTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.albedoTexCoordIndex


albedoTexCoordMatrix

albedoTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.albedoTexCoordMatrix


hasAlbedoTexture

hasAlbedoTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasAlbedoTexture


getAlbedoTextureUniform

getAlbedoTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getAlbedoTextureUniform


getAlbedoTexCoord

getAlbedoTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getAlbedoTexCoord


sampleAlbedoTexture

sampleAlbedoTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleAlbedoTexture


metallicRoughnessTexture

metallicRoughnessTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.metallicRoughnessTexture


metallicRoughnessTextureSampler

metallicRoughnessTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.metallicRoughnessTextureSampler


metallicRoughnessTexCoordIndex

metallicRoughnessTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.metallicRoughnessTexCoordIndex


metallicRoughnessTexCoordMatrix

metallicRoughnessTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.metallicRoughnessTexCoordMatrix


hasMetallicRoughnessTexture

hasMetallicRoughnessTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasMetallicRoughnessTexture


getMetallicRoughnessTextureUniform

getMetallicRoughnessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getMetallicRoughnessTextureUniform


getMetallicRoughnessTexCoord

getMetallicRoughnessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getMetallicRoughnessTexCoord


sampleMetallicRoughnessTexture

sampleMetallicRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleMetallicRoughnessTexture


specularTexture

specularTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.specularTexture


specularTextureSampler

specularTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.specularTextureSampler


specularTexCoordIndex

specularTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.specularTexCoordIndex


specularTexCoordMatrix

specularTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.specularTexCoordMatrix


hasSpecularTexture

hasSpecularTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasSpecularTexture


getSpecularTextureUniform

getSpecularTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSpecularTextureUniform


getSpecularTexCoord

getSpecularTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSpecularTexCoord


sampleSpecularTexture

sampleSpecularTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleSpecularTexture


specularColorTexture

specularColorTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.specularColorTexture


specularColorTextureSampler

specularColorTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.specularColorTextureSampler


specularColorTexCoordIndex

specularColorTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.specularColorTexCoordIndex


specularColorTexCoordMatrix

specularColorTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.specularColorTexCoordMatrix


hasSpecularColorTexture

hasSpecularColorTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasSpecularColorTexture


getSpecularColorTextureUniform

getSpecularColorTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSpecularColorTextureUniform


getSpecularColorTexCoord

getSpecularColorTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSpecularColorTexCoord


sampleSpecularColorTexture

sampleSpecularColorTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleSpecularColorTexture


anisotropyDirectionTexture

anisotropyDirectionTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.anisotropyDirectionTexture


anisotropyDirectionTextureSampler

anisotropyDirectionTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.anisotropyDirectionTextureSampler


anisotropyDirectionTexCoordIndex

anisotropyDirectionTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.anisotropyDirectionTexCoordIndex


anisotropyDirectionTexCoordMatrix

anisotropyDirectionTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.anisotropyDirectionTexCoordMatrix


hasAnisotropyDirectionTexture

hasAnisotropyDirectionTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasAnisotropyDirectionTexture


getAnisotropyDirectionTextureUniform

getAnisotropyDirectionTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getAnisotropyDirectionTextureUniform


getAnisotropyDirectionTexCoord

getAnisotropyDirectionTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getAnisotropyDirectionTexCoord


sampleAnisotropyDirectionTexture

sampleAnisotropyDirectionTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleAnisotropyDirectionTexture


subsurfaceTexture

subsurfaceTexture: Texture2D<unknown>

Inherited from

PBRBluePrintMaterial.subsurfaceTexture


subsurfaceTextureSampler

subsurfaceTextureSampler: TextureSampler<unknown>

Inherited from

PBRBluePrintMaterial.subsurfaceTextureSampler


subsurfaceTexCoordIndex

subsurfaceTexCoordIndex: number

Inherited from

PBRBluePrintMaterial.subsurfaceTexCoordIndex


subsurfaceTexCoordMatrix

subsurfaceTexCoordMatrix: Matrix4x4

Inherited from

PBRBluePrintMaterial.subsurfaceTexCoordMatrix


hasSubsurfaceTexture

hasSubsurfaceTexture: () => boolean

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasSubsurfaceTexture


getSubsurfaceTextureUniform

getSubsurfaceTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSubsurfaceTextureUniform


getSubsurfaceTexCoord

getSubsurfaceTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSubsurfaceTexCoord


sampleSubsurfaceTexture

sampleSubsurfaceTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.sampleSubsurfaceTexture


albedoColor

albedoColor: Vector4

Defined in: libs/scene/src/material/mixins/albedocolor.ts:16

Inherited from

PBRBluePrintMaterial.albedoColor


metallic

metallic: number

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:39

Inherited from

PBRBluePrintMaterial.metallic


roughness

roughness: number

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:40

Inherited from

PBRBluePrintMaterial.roughness


specularFactor

specularFactor: Vector4

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:41

Inherited from

PBRBluePrintMaterial.specularFactor


reflectionMode

reflectionMode: PBRReflectionMode

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:42

Inherited from

PBRBluePrintMaterial.reflectionMode


anisotropy

anisotropy: number

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:43

Inherited from

PBRBluePrintMaterial.anisotropy


anisotropyDirection

anisotropyDirection: number

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:44

Inherited from

PBRBluePrintMaterial.anisotropyDirection


anisotropyDirectionScaleBias

anisotropyDirectionScaleBias: Vector2

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:45

Inherited from

PBRBluePrintMaterial.anisotropyDirectionScaleBias


normalScale

normalScale: number

Defined in: libs/scene/src/material/mixins/lit.ts:23

Inherited from

PBRBluePrintMaterial.normalScale


normalFlipY

normalFlipY: boolean

Defined in: libs/scene/src/material/mixins/lit.ts:24

Inherited from

PBRBluePrintMaterial.normalFlipY


normalMapMode

normalMapMode: "tangent-space" | "object-space"

Defined in: libs/scene/src/material/mixins/lit.ts:25

Inherited from

PBRBluePrintMaterial.normalMapMode


doubleSidedLighting

doubleSidedLighting: boolean

Defined in: libs/scene/src/material/mixins/lit.ts:26

Inherited from

PBRBluePrintMaterial.doubleSidedLighting


ior

ior: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:30

Inherited from

PBRBluePrintMaterial.ior


emissiveColor

emissiveColor: Vector3

Defined in: libs/scene/src/material/mixins/pbr/common.ts:31

Inherited from

PBRBluePrintMaterial.emissiveColor


emissiveStrength

emissiveStrength: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:32

Inherited from

PBRBluePrintMaterial.emissiveStrength


emissiveLuminance

emissiveLuminance: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:33

Inherited from

PBRBluePrintMaterial.emissiveLuminance


emissiveExposureWeight

emissiveExposureWeight: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:34

Inherited from

PBRBluePrintMaterial.emissiveExposureWeight


occlusionStrength

occlusionStrength: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:35

Inherited from

PBRBluePrintMaterial.occlusionStrength


rectSpecularScale

rectSpecularScale: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:36

Inherited from

PBRBluePrintMaterial.rectSpecularScale


transmission

transmission: boolean

Defined in: libs/scene/src/material/mixins/pbr/common.ts:37

Inherited from

PBRBluePrintMaterial.transmission


transmissionFactor

transmissionFactor: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:38

Inherited from

PBRBluePrintMaterial.transmissionFactor


thicknessFactor

thicknessFactor: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:39

Inherited from

PBRBluePrintMaterial.thicknessFactor


attenuationColor

attenuationColor: Vector3

Defined in: libs/scene/src/material/mixins/pbr/common.ts:40

Inherited from

PBRBluePrintMaterial.attenuationColor


attenuationDistance

attenuationDistance: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:41

Inherited from

PBRBluePrintMaterial.attenuationDistance


sheen

sheen: boolean

Defined in: libs/scene/src/material/mixins/pbr/common.ts:42

Inherited from

PBRBluePrintMaterial.sheen


sheenColorFactor

sheenColorFactor: Vector3

Defined in: libs/scene/src/material/mixins/pbr/common.ts:43

Inherited from

PBRBluePrintMaterial.sheenColorFactor


sheenRoughnessFactor

sheenRoughnessFactor: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:44

Inherited from

PBRBluePrintMaterial.sheenRoughnessFactor


clearcoat

clearcoat: boolean

Defined in: libs/scene/src/material/mixins/pbr/common.ts:45

Inherited from

PBRBluePrintMaterial.clearcoat


clearcoatIntensity

clearcoatIntensity: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:46

Inherited from

PBRBluePrintMaterial.clearcoatIntensity


clearcoatRoughnessFactor

clearcoatRoughnessFactor: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:47

Inherited from

PBRBluePrintMaterial.clearcoatRoughnessFactor


iridescence

iridescence: boolean

Defined in: libs/scene/src/material/mixins/pbr/common.ts:48

Inherited from

PBRBluePrintMaterial.iridescence


iridescenceFactor

iridescenceFactor: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:49

Inherited from

PBRBluePrintMaterial.iridescenceFactor


iridescenceIor

iridescenceIor: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:50

Inherited from

PBRBluePrintMaterial.iridescenceIor


iridescenceThicknessMin

iridescenceThicknessMin: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:51

Inherited from

PBRBluePrintMaterial.iridescenceThicknessMin


iridescenceThicknessMax

iridescenceThicknessMax: number

Defined in: libs/scene/src/material/mixins/pbr/common.ts:52

Inherited from

PBRBluePrintMaterial.iridescenceThicknessMax


vertexColor

vertexColor: boolean

Defined in: libs/scene/src/material/mixins/vertexcolor.ts:10

Inherited from

PBRBluePrintMaterial.vertexColor

Accessors

disposed

Get Signature

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6107

Returns

boolean

Inherited from

PBRBluePrintMaterial.disposed


changeTag

Get Signature

get changeTag(): number

Defined in: libs/scene/src/material/material.ts:173

Incremented when the material’s GPU-relevant state changes and render bundles may need to be rebuilt.

Returns

number

Inherited from

PBRBluePrintMaterial.changeTag


instanceId

Get Signature

get instanceId(): number

Defined in: libs/scene/src/material/material.ts:179

Runtime-unique numeric identifier for the material instance.

Returns

number

Inherited from

PBRBluePrintMaterial.instanceId


numPasses

Get Signature

get numPasses(): number

Defined in: libs/scene/src/material/material.ts:189

Number of rendering passes this material uses.

Increasing this will expand the per-pass hash cache; make sure to implement createHash(pass), _createProgram(pb, ctx, pass), and updateRenderStates(pass, ...) accordingly for each pass.

Returns

number

Set Signature

set numPasses(val): void

Defined in: libs/scene/src/material/material.ts:192

Parameters
val

number

Returns

void

Inherited from

PBRBluePrintMaterial.numPasses


coreMaterial

Get Signature

get coreMaterial(): this

Defined in: libs/scene/src/material/material.ts:283

Returns the core material that owns GPU state.

Instances may delegate to a shared core to reuse compiled programs and caches.

Returns

this

Inherited from

PBRBluePrintMaterial.coreMaterial


drawContext

Get Signature

get drawContext(): DrawContext

Defined in: libs/scene/src/material/meshmaterial.ts:514

Draw context captured during program creation, available inside shader hooks.

Returns

DrawContext

The last DrawContext used to build or apply this material.

Inherited from

PBRBluePrintMaterial.drawContext


pass

Get Signature

get pass(): number

Defined in: libs/scene/src/material/meshmaterial.ts:523

Current material pass index during program building. Typically used inside shader hooks to select per-pass logic.

Returns

number

The active pass index while building the program, or -1 when idle.

Inherited from

PBRBluePrintMaterial.pass


alphaCutoff

Get Signature

get alphaCutoff(): number

Defined in: libs/scene/src/material/meshmaterial.ts:532

Alpha test cutoff in [0, 1].

  • 0 disables alpha testing.
  • > 0 discards fragments with alpha < cutoff. Changing this marks uniforms dirty (no shader rebuild).
Returns

number

Set Signature

set alphaCutoff(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:535

Parameters
val

number

Returns

void

Inherited from

PBRBluePrintMaterial.alphaCutoff


alphaDither

Get Signature

get alphaDither(): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:547

Whether alpha clipping uses frame-varying dither coverage.

  • Effective only when alpha cutoff is enabled.
  • Intended for masked materials (blendMode='none') to emulate soft transparency with TAA.
Returns

boolean

Set Signature

set alphaDither(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:550

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.alphaDither


TAADisabled

Get Signature

get TAADisabled(): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:561

Whether TAA is disabled for this material.

  • When true, motion vectors encode a large sentinel to skip TAA accumulation.
  • Managed via an internal feature toggle.
Returns

boolean

Set Signature

set TAADisabled(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:564

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.TAADisabled


transparentMotionVector

Get Signature

get transparentMotionVector(): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:581

Whether a blended material contributes motion vectors.

Remarks

Off by default, and only meaningful with blendMode !== 'none': blended geometry is normally absent from the prepass, so it writes no velocity and a temporal filter reprojects it with whatever is behind it. Turning this on adds it to a motion-vector-only pass over the transparent queue.

Right for geometry that is dense enough to own its pixels - hair, foliage cards - where one velocity per pixel is a fair summary. Wrong for genuinely see-through surfaces such as glass, where the background's own velocity is the one that should survive, which is why this is opt-in.

Returns

boolean

Set Signature

set transparentMotionVector(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:584

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.transparentMotionVector


TAAStrength

Get Signature

get TAAStrength(): number

Defined in: libs/scene/src/material/meshmaterial.ts:592

TAA strength in [0, 1].

  • Higher values generally imply stronger accumulation.
  • The value is mapped when writing motion-vector outputs during depth pass.
Returns

number

Set Signature

set TAAStrength(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:595

Parameters
val

number

Returns

void

Inherited from

PBRBluePrintMaterial.TAAStrength


alphaToCoverage

Get Signature

get alphaToCoverage(): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:607

Alpha-to-coverage toggle.

  • Useful to approximate transparency for MSAA targets.
  • Managed as a shader feature; toggling rebuilds variants.
Returns

boolean

Set Signature

set alphaToCoverage(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:610

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.alphaToCoverage


blendMode

Get Signature

get blendMode(): BlendMode

Defined in: libs/scene/src/material/meshmaterial.ts:618

Blending mode of this material.

  • 'none' for opaque, 'blend' for standard alpha, 'additive' for emissive FX.
  • Changing the mode toggles an internal feature and rebuilds variants.
Returns

BlendMode

Set Signature

set blendMode(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:621

Parameters
val

BlendMode

Returns

void

Inherited from

PBRBluePrintMaterial.blendMode


transparentShadowCaster

Get Signature

get transparentShadowCaster(): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:632

Whether transparent visible materials cast shadow through a masked shadow-only path.

  • Visible rendering stays blended.
  • Shadow-map rendering is treated like a cutout material using shadowAlphaCutoff.
Returns

boolean

Set Signature

set transparentShadowCaster(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:635

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.transparentShadowCaster


shadowAlphaCutoff

Get Signature

get shadowAlphaCutoff(): number

Defined in: libs/scene/src/material/meshmaterial.ts:644

Alpha cutoff used by the shadow-only masked caster path.

Returns

number

Set Signature

set shadowAlphaCutoff(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:647

Parameters
val

number

Returns

void

Inherited from

PBRBluePrintMaterial.shadowAlphaCutoff


cullMode

Get Signature

get cullMode(): FaceMode

Defined in: libs/scene/src/material/meshmaterial.ts:658

Face culling mode: 'none' | 'front' | 'back'.

  • Does not force shader rebuild; affects rasterizer state.
Returns

FaceMode

Set Signature

set cullMode(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:661

Parameters
val

FaceMode

Returns

void

Inherited from

PBRBluePrintMaterial.cullMode


opacity

Get Signature

get opacity(): number

Defined in: libs/scene/src/material/meshmaterial.ts:671

Material opacity in [0, 1].

  • Used in transparent passes. Changing marks uniforms dirty only.
Returns

number

Set Signature

set opacity(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:674

Parameters
val

number

Returns

void

Inherited from

PBRBluePrintMaterial.opacity


objectColor

Get Signature

get objectColor(): Immutable<Vector4>

Defined in: libs/scene/src/material/meshmaterial.ts:685

Per-object color used for GPU picking/object-ID pass.

  • Changing marks uniforms dirty only.
Returns

Immutable<Vector4>

Set Signature

set objectColor(val): void

Defined in: libs/scene/src/material/meshmaterial.ts:688

Parameters
val

Immutable<Vector4>

Returns

void

Inherited from

PBRBluePrintMaterial.objectColor


fragmentIR

Get Signature

get fragmentIR(): MaterialBlueprintIR

Defined in: libs/scene/src/material/pbrblueprint.ts:146

Returns

MaterialBlueprintIR

Set Signature

set fragmentIR(ir): void

Defined in: libs/scene/src/material/pbrblueprint.ts:149

Parameters
ir

MaterialBlueprintIR

Returns

void

Inherited from

PBRBluePrintMaterial.fragmentIR


vertexIR

Get Signature

get vertexIR(): MaterialBlueprintIR

Defined in: libs/scene/src/material/pbrblueprint.ts:158

Returns

MaterialBlueprintIR

Set Signature

set vertexIR(ir): void

Defined in: libs/scene/src/material/pbrblueprint.ts:161

Parameters
ir

MaterialBlueprintIR

Returns

void

Inherited from

PBRBluePrintMaterial.vertexIR


parentMaterialId

Get Signature

get parentMaterialId(): string

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:238

Returns

string


parentMaterial

Get Signature

get parentMaterial(): PBRBluePrintMaterial

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:242

Returns

PBRBluePrintMaterial


isBlueprintMaterialInstance

Get Signature

get isBlueprintMaterialInstance(): boolean

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:246

Returns

boolean


hasSubsurfaceProfileOverride

Get Signature

get hasSubsurfaceProfileOverride(): boolean

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:250

Returns

boolean


uniformValues

Get Signature

get uniformValues(): BluePrintUniformValue[]

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:274

Returns

BluePrintUniformValue[]

Set Signature

set uniformValues(val): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:270

Parameters
val

BluePrintUniformValue[]

Returns

void

Overrides

PBRBluePrintMaterial.uniformValues


uniformTextures

Get Signature

get uniformTextures(): BluePrintUniformTexture[]

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:282

Returns

BluePrintUniformTexture[]

Set Signature

set uniformTextures(val): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:278

Parameters
val

BluePrintUniformTexture[]

Returns

void

Overrides

PBRBluePrintMaterial.uniformTextures


vertexNormal

Get Signature

get vertexNormal(): boolean

Defined in: libs/scene/src/material/pbrmr.ts:58

true if vertex normal attribute presents

Returns

boolean

Set Signature

set vertexNormal(val): void

Defined in: libs/scene/src/material/pbrmr.ts:61

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.vertexNormal


vertexTangent

Get Signature

get vertexTangent(): boolean

Defined in: libs/scene/src/material/pbrmr.ts:65

true if vertex normal attribute presents

Returns

boolean

Set Signature

set vertexTangent(val): void

Defined in: libs/scene/src/material/pbrmr.ts:68

Parameters
val

boolean

Returns

void

Inherited from

PBRBluePrintMaterial.vertexTangent


subsurfaceProfile

Get Signature

get subsurfaceProfile(): SubsurfaceProfile

Defined in: libs/scene/src/material/pbrmr.ts:72

shared profile asset driving channel radius/falloff

Returns

SubsurfaceProfile

Set Signature

set subsurfaceProfile(val): void

Defined in: libs/scene/src/material/pbrmr.ts:75

Parameters
val

SubsurfaceProfile

Returns

void

Inherited from

PBRBluePrintMaterial.subsurfaceProfile

Methods

on()

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:630

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

PBRBluePrintMaterial.on


once()

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:634

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

PBRBluePrintMaterial.once


off()

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:638

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

PBRBluePrintMaterial.off


dispatchEvent()

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:642

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

PBRBluePrintMaterial.dispatchEvent


dispose()

dispose(): void

Defined in: libs/base/dist/index.d.ts:6108

Returns

void

Inherited from

PBRBluePrintMaterial.dispose


getNumPassesForRender()

protected getNumPassesForRender(_ctx): number

Defined in: libs/scene/src/material/material.ts:205

Get the number of passes this material will render for the given draw context.

Default returns numPasses. Subclasses may override to skip passes based on context flags.

Parameters

_ctx

DrawContext

Draw context (device, flags, pass hash, instance data, etc.).

Returns

number

Number of passes to render for this context.

Inherited from

PBRBluePrintMaterial.getNumPassesForRender


supportInstancing()

supportInstancing(): boolean

Defined in: libs/scene/src/material/material.ts:249

Whether this material supports hardware instancing.

Override and return false if per-instance data is not supported in the shader.

Returns

boolean

Inherited from

PBRBluePrintMaterial.supportInstancing


isBatchable()

isBatchable(): boolean

Defined in: libs/scene/src/material/material.ts:253

Returns true if this is a instance of material

Returns

boolean

Inherited from

PBRBluePrintMaterial.isBatchable


needSceneColor()

needSceneColor(): boolean

Defined in: libs/scene/src/material/material.ts:260

Whether this material requires the scene color texture (e.g., for refraction).

Returns

boolean

Inherited from

PBRBluePrintMaterial.needSceneColor


needSceneDepth()

needSceneDepth(): boolean

Defined in: libs/scene/src/material/material.ts:266

Whether this material requires the linear scene depth texture (e.g., for depth-aware effects).

Returns

boolean

Inherited from

PBRBluePrintMaterial.needSceneDepth


applyUniforms()

applyUniforms(bindGroup, ctx, needUpdate, pass): void

Defined in: libs/scene/src/material/material.ts:450

Conditionally update uniforms/resources into the material bind group.

Delegates to _applyUniforms() when needUpdate is true (based on _optionTag check).

Parameters

bindGroup

BindGroup

Material bind group at index 2 (may be null if program has no layout).

ctx

DrawContext

Draw context.

needUpdate

boolean

Whether uniforms need to be refreshed.

pass

number

Pass index.

Returns

void

Inherited from

PBRBluePrintMaterial.applyUniforms


clearCache()

clearCache(): void

Defined in: libs/scene/src/material/material.ts:475

Returns

void

Inherited from

PBRBluePrintMaterial.clearCache


passToHash()

passToHash(pass): string

Defined in: libs/scene/src/material/material.ts:503

Convert a pass index to a hash seed string.

Subclasses may override to encode per-pass role (e.g., "depth", "forward", "shadow").

Parameters

pass

number

Pass number.

Returns

string

String used when building full hash.

Inherited from

PBRBluePrintMaterial.passToHash


drawPrimitive()

drawPrimitive(pass, primitive, ctx, numInstances): void

Defined in: libs/scene/src/material/material.ts:531

Issue the actual draw call for a pass.

Override for custom per-pass draw behavior if necessary. The default implementation:

  • Draws instanced if numInstances > 0.
  • Else uses ctx.instanceData.numInstances if available.
  • Else issues a non-instanced draw.

Parameters

pass

number

Pass number.

primitive

Primitive

Primitive to draw.

ctx

DrawContext

Draw context.

numInstances

number

Explicit instance count (0 = auto).

Returns

void

Inherited from

PBRBluePrintMaterial.drawPrimitive


apply()

apply(ctx): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:243

Capture the active draw context for both cached and freshly-built program paths.

The shader-building hooks access this.drawContext, but uniform application may also consult it on subsequent frames when the GPU program is reused from cache. Updating it here keeps material mixins in sync even when createProgram() is skipped.

Parameters

ctx

DrawContext

Current draw context.

Returns

boolean

Whether material preparation succeeded.

Inherited from

PBRBluePrintMaterial.apply


uniformChanged()

uniformChanged(): void

Defined in: libs/scene/src/material/meshmaterial.ts:252

Mark uniform-only changes so uniforms are re-uploaded on next apply, without rebuilding shader programs.

Returns

void

Inherited from

PBRBluePrintMaterial.uniformChanged


defineFeature()

static defineFeature(): number

Defined in: libs/scene/src/material/meshmaterial.ts:259

Define a new feature bit/index for shader variants. Subclasses may use this to add their own switches.

Returns

number

Inherited from

PBRBluePrintMaterial.defineFeature


defineInstanceUniform()

static defineInstanceUniform(prop, type, name?): number

Defined in: libs/scene/src/material/meshmaterial.ts:292

Define a per-instance uniform for this class.

Returns a compact index encoding the vector index and component offset, which can be used in shader code via getInstancedUniform(...).

Parameters

prop

string

Property name exposed on instances.

type

InstanceUniformType

Uniform data type.

name?

string = ''

Returns

number

Encoded index for use in getInstancedUniform.

Throws

If the property is already defined or type is invalid.

Inherited from

PBRBluePrintMaterial.defineInstanceUniform


getInstancedUniform()

getInstancedUniform(scope, uniformIndex): PBShaderExp

Defined in: libs/scene/src/material/meshmaterial.ts:333

Read an encoded per-instance uniform in shader code.

Encoded index packs: vector index, component offset, and component count.

Parameters

scope

PBInsideFunctionScope

Inside-function shader scope.

uniformIndex

number

Encoded index from defineInstanceUniform.

Returns

PBShaderExp

The shader expression reading the selected components.

Inherited from

PBRBluePrintMaterial.getInstancedUniform


getInstancedUniforms()

getInstancedUniforms(): object[]

Defined in: libs/scene/src/material/meshmaterial.ts:355

Get the list of per-instance uniforms for this material class.

Returns

object[]

Inherited from

PBRBluePrintMaterial.getInstancedUniforms


createInstance()

createInstance(): this

Defined in: libs/scene/src/material/meshmaterial.ts:370

Create a material instance (preferred for GPU instancing).

  • On WebGL1 (or when instancing unsupported), falls back to cloning.
  • Otherwise, returns a proxy instance that shares GPU programs and stores per-instance uniforms in a compact Float32Array.

The returned instance:

  • Exposes properties defined by defineInstanceUniform with getter/setter that read/write the packed buffer and notify RenderBundleWrapper.
  • Delegates methods to the core material via prototype chain.

Returns

this

Inherited from

PBRBluePrintMaterial.createInstance


supportLighting()

supportLighting(): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:700

Whether this material responds to scene lighting. Override to return false for unlit materials.

Returns

boolean

True if lighting affects this material; otherwise false.

Inherited from

PBRBluePrintMaterial.supportLighting


getEffectiveBlendMode()

protected getEffectiveBlendMode(pass, ctx?): BlendMode

Defined in: libs/scene/src/material/meshmaterial.ts:707

Returns the effective blend mode for the current pass. Transparent-shadow-caster materials stay blended in visible passes, but become masked in shadow passes.

Parameters

pass

number

ctx?

DrawContext

Returns

BlendMode

Inherited from

PBRBluePrintMaterial.getEffectiveBlendMode


getActiveAlphaCutoff()

protected getActiveAlphaCutoff(ctx?, pass?): number

Defined in: libs/scene/src/material/meshmaterial.ts:736

Returns the alpha cutoff that should be used for the current pass.

Parameters

ctx?

DrawContext

pass?

number = ...

Returns

number

Inherited from

PBRBluePrintMaterial.getActiveAlphaCutoff


useTransparentShadowCaster()

useTransparentShadowCaster(ctx?, _pass?): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:742

Whether the current pass should use the shadow-only masked caster path.

Parameters

ctx?

DrawContext

_pass?

number = ...

Returns

boolean

Inherited from

PBRBluePrintMaterial.useTransparentShadowCaster


useTransparentShadowCasterForPass()

useTransparentShadowCasterForPass(renderPassType?): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:748

Whether the specified render pass type should reinterpret this transparent material as a masked shadow caster.

Parameters

renderPassType?

number

Returns

boolean

Inherited from

PBRBluePrintMaterial.useTransparentShadowCasterForPass


usesAlphaCutoff()

protected usesAlphaCutoff(ctx, pass): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:758

Whether this pass needs an alpha-cutoff uniform bound.

Parameters

ctx

DrawContext

pass

number

Returns

boolean

Inherited from

PBRBluePrintMaterial.usesAlphaCutoff


needFragmentColorInput()

needFragmentColorInput(ctx?): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:766

Whether this pass needs fragment color inputs. This stays aligned with the historical meaning of needFragmentColor, but also allows shadow-only transparent casters to fetch alpha sources.

Parameters

ctx?

DrawContext

Returns

boolean

Inherited from

PBRBluePrintMaterial.needFragmentColorInput


updateRenderStates()

protected updateRenderStates(pass, stateSet, ctx): void

Defined in: libs/scene/src/material/meshmaterial.ts:779

Update render states per pass and draw context. Sets blending, alpha-to-coverage, depth test/write, cull mode, color mask, and cooperates with OIT.

Parameters

pass

number

Current material pass index.

stateSet

RenderStateSet

Render state set to update.

ctx

DrawContext

Current draw context.

Returns

void

void

Inherited from

PBRBluePrintMaterial.updateRenderStates


getQueueType()

getQueueType(): number

Defined in: libs/scene/src/material/meshmaterial.ts:893

Determine the render queue for this material. Transparent materials are queued as QUEUE_TRANSPARENT, otherwise QUEUE_OPAQUE.

Returns

number

The queue type constant.

Inherited from

PBRBluePrintMaterial.getQueueType


isTransparentPass()

isTransparentPass(pass, ctx?): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:903

Whether the given pass is transparent. Default returns true when blendMode !== 'none'.

Parameters

pass

number

Material pass index.

ctx?

DrawContext

Returns

boolean

True if the pass is transparent; otherwise false.

Inherited from

PBRBluePrintMaterial.isTransparentPass


featureUsed()

featureUsed<T>(feature): T

Defined in: libs/scene/src/material/meshmaterial.ts:930

Query a feature flag’s current value.

Type Parameters

T

T = unknown

Expected value type.

Parameters

feature

number

The feature index.

Returns

T

The current value for the feature, typed as T.

Inherited from

PBRBluePrintMaterial.featureUsed


useFeature()

useFeature(feature, use): void

Defined in: libs/scene/src/material/meshmaterial.ts:941

Enable or disable a feature and trigger variant rebuild when changed. Calls optionChanged(true) internally on change.

Parameters

feature

number

The feature index to set.

use

unknown

The new feature value (typed by convention).

Returns

void

void

Inherited from

PBRBluePrintMaterial.useFeature


needFragmentColor()

needFragmentColor(ctx?): boolean

Defined in: libs/scene/src/material/meshmaterial.ts:983

Whether the fragment shader needs to compute color. Returns true for LIGHT pass, or when alpha test or alpha-to-coverage is enabled. Override if the material writes color in other passes.

Parameters

ctx?

DrawContext

Optional draw context; defaults to the last captured drawContext.

Returns

boolean

True if fragment color computation is needed; otherwise false.

Inherited from

PBRBluePrintMaterial.needFragmentColor


outputFragmentColor()

outputFragmentColor(scope, worldPos, color, ssrRoughness?, ssrNormal?, sssProfile?, sssParams?, sssDiffuse?, sssTransmission?, sssProfileEnabled?, skinSSS?): void

Defined in: libs/scene/src/material/meshmaterial.ts:1139

Centralized final color write and per-pass output composition.

Behavior by pass:

  • LIGHT: clipping, alpha handling, optional OIT integration, fog application, color output encoding.
  • DEPTH: encoded depth; optional motion vectors (TAA enabled/disabled handling).
  • OBJECT_COLOR: object color and distance output (linear depth or world-pos + distance).
  • SHADOWMAP: writes shadow depth via light’s shadow implementation.

Also writes SSR roughness/normal buffers when requested via material flags.

Parameters

scope

PBInsideFunctionScope

Inside-function shader scope.

worldPos

PBShaderExp

Fragment world-space position expression.

color

PBShaderExp

Lit fragment color expression; may be undefined for depth-only paths.

ssrRoughness?

PBShaderExp

Optional SSR roughness output expression.

ssrNormal?

PBShaderExp

Optional SSR normal output expression.

sssProfile?

PBShaderExp

Optional SSS profile output expression.

sssParams?

PBShaderExp

Optional SSS packed params output expression.

sssDiffuse?

PBShaderExp

Optional diffuse-only lighting color for SSS composition.

sssTransmission?

PBShaderExp

Optional thin-shell transmission lighting color for SSS composition.

sssProfileEnabled?

boolean = false

True only when this material should write SSS profile data.

skinSSS?

PBShaderExp

Returns

void

void

Inherited from

PBRBluePrintMaterial.outputFragmentColor


PBRLight()

PBRLight(scope, worldPos, normal, viewVec, albedo, TBN, outRoughness?, outSSSDiffuse?, outSSSTransmission?): PBShaderExp

Defined in: libs/scene/src/material/mixins/lightmodel/pbrmetallicroughness.ts:46

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

albedo

PBShaderExp

TBN

PBShaderExp

outRoughness?

PBShaderExp

outSSSDiffuse?

PBShaderExp

outSSSTransmission?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.PBRLight


receivesWaterCaustics()

receivesWaterCaustics(): boolean

Defined in: libs/scene/src/material/mixins/lit.ts:27

Returns

boolean

Inherited from

PBRBluePrintMaterial.receivesWaterCaustics


needCalculateEnvLight()

needCalculateEnvLight(): boolean

Defined in: libs/scene/src/material/mixins/lit.ts:28

Returns

boolean

Inherited from

PBRBluePrintMaterial.needCalculateEnvLight


getUniformNormalScale()

getUniformNormalScale(scope): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:29

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getUniformNormalScale


getEnvLightIrradiance()

getEnvLightIrradiance(scope, normal): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:30

Parameters

scope

PBInsideFunctionScope

normal

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getEnvLightIrradiance


getEnvLightRadiance()

getEnvLightRadiance(scope, reflectVec, roughness): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:31

Parameters

scope

PBInsideFunctionScope

reflectVec

PBShaderExp

roughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getEnvLightRadiance


calculateViewVector()

calculateViewVector(scope, worldPos): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:36

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateViewVector


calculateReflectionVector()

calculateReflectionVector(scope, normal, viewVec): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:37

Parameters

scope

PBInsideFunctionScope

normal

PBShaderExp

viewVec

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateReflectionVector


calculateTBN()

calculateTBN(scope, worldPos, worldNormal?, worldTangent?, worldBinormal?): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:42

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal?

PBShaderExp

worldTangent?

PBShaderExp

worldBinormal?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateTBN


calculateNormal()

calculateNormal(scope, worldPos, worldNormal?, worldTangent?, worldBinormal?): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:49

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal?

PBShaderExp

worldTangent?

PBShaderExp

worldBinormal?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateNormal


calculateLightAttenuation()

calculateLightAttenuation(scope, type, worldPos, posRange, dirCutoff, extra?): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:63

Parameters

scope

PBInsideFunctionScope

type

PBShaderExp

worldPos

PBShaderExp

posRange

PBShaderExp

dirCutoff

PBShaderExp

extra?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateLightAttenuation


calculateLightDirection()

calculateLightDirection(scope, type, worldPos, posRange, dirCutoff): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:71

Parameters

scope

PBInsideFunctionScope

type

PBShaderExp

worldPos

PBShaderExp

posRange

PBShaderExp

dirCutoff

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateLightDirection


calculateShadow()

calculateShadow(scope, worldPos, worldNormal, NoL): PBShaderExp

Defined in: libs/scene/src/material/mixins/lit.ts:78

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal

PBShaderExp

NoL

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateShadow


forEachLight()

forEachLight(scope, callback): void

Defined in: libs/scene/src/material/mixins/lit.ts:84

Parameters

scope

PBInsideFunctionScope

callback

(this, type, posRange, dirCutoff, colorIntensity, extra, shadow) => void

Returns

void

Inherited from

PBRBluePrintMaterial.forEachLight


fresnelSchlick()

fresnelSchlick(scope, cosTheta, F0, F90): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/brdf.ts:14

Parameters

scope

PBInsideFunctionScope

cosTheta

PBShaderExp

F0

PBShaderExp

F90

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.fresnelSchlick


distributionGGX()

distributionGGX(scope, NdotH, alphaRoughness): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/brdf.ts:20

Parameters

scope

PBInsideFunctionScope

NdotH

PBShaderExp

alphaRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.distributionGGX


visGGX()

visGGX(scope, NdotV, NdotL, alphaRoughness): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/brdf.ts:21

Parameters

scope

PBInsideFunctionScope

NdotV

PBShaderExp

NdotL

PBShaderExp

alphaRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.visGGX


getCommonData()

getCommonData(scope, albedo, normal, viewVec, TBN): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/common.ts:53

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

TBN

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getCommonData


getCommonDatasStruct()

getCommonDatasStruct(scope): ShaderTypeFunc

Defined in: libs/scene/src/material/mixins/pbr/common.ts:68

Parameters

scope

PBInsideFunctionScope

Returns

ShaderTypeFunc

Inherited from

PBRBluePrintMaterial.getCommonDatasStruct


getF0()

getF0(scope): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/common.ts:70

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getF0


getSheenAlbedoScaling()

getSheenAlbedoScaling(scope, Ndot, sheenColor, sheenRoughness): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/common.ts:71

Parameters

scope

PBInsideFunctionScope

Ndot

PBShaderExp

sheenColor

PBShaderExp

sheenRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSheenAlbedoScaling


getSheenAlbedoScalingForDirect()

getSheenAlbedoScalingForDirect(scope, NoV, NoL, sheenColor, sheenRoughness): PBShaderExp

Defined in: libs/scene/src/material/mixins/pbr/common.ts:77

Parameters

scope

PBInsideFunctionScope

NoV

PBShaderExp

NoL

PBShaderExp

sheenColor

PBShaderExp

sheenRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getSheenAlbedoScalingForDirect


directLighting()

directLighting(scope, lightDir, lightColor, normal, viewVec, commonData, diffuseScale, specularScale, sourceRadiusFactor, outColor): void

Defined in: libs/scene/src/material/mixins/pbr/common.ts:84

Parameters

scope

PBInsideFunctionScope

lightDir

PBShaderExp

lightColor

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

commonData

PBShaderExp

diffuseScale

PBShaderExp

specularScale

PBShaderExp

sourceRadiusFactor

PBShaderExp

outColor

PBShaderExp

Returns

void

Inherited from

PBRBluePrintMaterial.directLighting


directRectLight()

directRectLight(scope, worldPos, normal, viewVec, commonData, posRange, axisX, axisY, colorIntensity, outColor): void

Defined in: libs/scene/src/material/mixins/pbr/common.ts:96

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

commonData

PBShaderExp

posRange

PBShaderExp

axisX

PBShaderExp

axisY

PBShaderExp

colorIntensity

PBShaderExp

outColor

PBShaderExp

Returns

void

Inherited from

PBRBluePrintMaterial.directRectLight


getVertexColor()

getVertexColor(scope): PBShaderExp

Defined in: libs/scene/src/material/mixins/vertexcolor.ts:11

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.getVertexColor


hasConnectedOutput()

hasConnectedOutput(name): boolean

Defined in: libs/scene/src/material/pbrblueprint.ts:208

Parameters

name

PBRBlueprintOutputName

Returns

boolean

Inherited from

PBRBluePrintMaterial.hasConnectedOutput


applyBlueprintOutputUniformValues()

applyBlueprintOutputUniformValues(bindGroup): void

Defined in: libs/scene/src/material/pbrblueprint.ts:217

Binds fragment-stage uniforms consumed while evaluating blueprint PBR outputs.

Parameters

bindGroup

BindGroup

Material bind group used by the output evaluation shader.

Returns

void

Inherited from

PBRBluePrintMaterial.applyBlueprintOutputUniformValues


clone()

clone(): PBRBluePrintMaterial

Defined in: libs/scene/src/material/pbrblueprint.ts:221

Create a shallow clone of this material. Subclasses should override to copy custom fields.

Returns

PBRBluePrintMaterial

Inherited from

PBRBluePrintMaterial.clone


vertexShader()

vertexShader(scope): void

Defined in: libs/scene/src/material/pbrblueprint.ts:242

Vertex shader hook. Prepares common inputs (skin/morph/instancing), varyings, and pass-dependent outputs. Override to implement per-vertex logic; use ShaderHelper as needed.

Parameters

scope

PBFunctionScope

Vertex shader function scope.

Returns

void

void

Inherited from

PBRBluePrintMaterial.vertexShader


fragmentShader()

fragmentShader(scope): void

Defined in: libs/scene/src/material/pbrblueprint.ts:340

Fragment shader hook. Declares pass-dependent uniforms (e.g., opacity, objectColor, alphaCutoff). Override to implement per-fragment logic, and call outputFragmentColor to finalize writes.

Parameters

scope

PBFunctionScope

Fragment shader function scope.

Returns

void

void

Inherited from

PBRBluePrintMaterial.fragmentShader


applyUniformValues()

applyUniformValues(bindGroup, ctx, pass): void

Defined in: libs/scene/src/material/pbrblueprint.ts:354

Submit material uniforms/resources to the material bind group (set 2). Handles alpha cutoff, opacity (non-instanced transparent), OIT, object color, and TAA strength.

Parameters

bindGroup

BindGroup

The material bind group to write into.

ctx

DrawContext

Current draw context.

pass

number

Current material pass index.

Returns

void

void

Inherited from

PBRBluePrintMaterial.applyUniformValues


_createHash()

protected _createHash(): string

Defined in: libs/scene/src/material/pbrblueprint.ts:365

Returns

string

Inherited from

PBRBluePrintMaterial._createHash


calculateAlbedoColor()

calculateAlbedoColor(scope, uv?): PBShaderExp

Defined in: libs/scene/src/material/pbrblueprint.ts:376

Parameters

scope

PBInsideFunctionScope

uv?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateAlbedoColor


calculateMetallic()

calculateMetallic(scope, albedo, normal): PBShaderExp

Defined in: libs/scene/src/material/pbrblueprint.ts:391

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateMetallic


calculateRoughness()

calculateRoughness(scope, albedo, normal): PBShaderExp

Defined in: libs/scene/src/material/pbrblueprint.ts:399

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateRoughness


calculateSpecularFactor()

calculateSpecularFactor(scope, albedo, normal): PBShaderExp

Defined in: libs/scene/src/material/pbrblueprint.ts:407

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateSpecularFactor


calculateCommonData()

calculateCommonData(scope, albedo, normal, viewVec, TBN, data): void

Defined in: libs/scene/src/material/pbrblueprint.ts:421

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

TBN

PBShaderExp

data

PBShaderExp

Returns

void

Inherited from

PBRBluePrintMaterial.calculateCommonData


calculateEmissiveColor()

calculateEmissiveColor(scope): PBShaderExp

Defined in: libs/scene/src/material/pbrblueprint.ts:474

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateEmissiveColor


calculateNormalAndTBN()

calculateNormalAndTBN(scope, worldPos, worldNormal?, worldTangent?, worldBinormal?): PBShaderExp

Defined in: libs/scene/src/material/pbrblueprint.ts:489

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal?

PBShaderExp

worldTangent?

PBShaderExp

worldBinormal?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRBluePrintMaterial.calculateNormalAndTBN


indirectLighting()

indirectLighting(scope, normal, viewVec, commonData, outColor, outRoughness?, outDiffuseColor?): void

Defined in: libs/scene/src/material/pbrblueprint.ts:547

Parameters

scope

PBInsideFunctionScope

normal

PBShaderExp

viewVec

PBShaderExp

commonData

PBShaderExp

outColor

PBShaderExp

outRoughness?

PBShaderExp

outDiffuseColor?

PBShaderExp

Returns

void

Inherited from

PBRBluePrintMaterial.indirectLighting


isMaterialTextureEnabled()

protected isMaterialTextureEnabled(name): boolean

Defined in: libs/scene/src/material/pbrblueprint.ts:652

Parameters

name

string

Returns

boolean

Inherited from

PBRBluePrintMaterial.isMaterialTextureEnabled


evaluateBlueprintOutputs()

evaluateBlueprintOutputs(scope, inputs?): PBRBlueprintOutputMap

Defined in: libs/scene/src/material/pbrblueprint.ts:690

Evaluates the fragment blueprint and returns all PBR surface outputs.

Parameters

scope

PBInsideFunctionScope

Shader function scope used to generate output expressions.

inputs?

PBRBlueprintOutputInputs = {}

Optional explicit surface inputs. Missing values use the active draw scope.

Returns

PBRBlueprintOutputMap

A complete output map with defaults for graph outputs that are not connected.

Inherited from

PBRBluePrintMaterial.evaluateBlueprintOutputs


copyFrom()

copyFrom(other): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:215

Copy common MeshMaterial properties from another material. Call super.copyFrom(other) first when overriding in subclasses.

Parameters

other

this

Source material.

Returns

void

Overrides

PBRBluePrintMaterial.copyFrom


setMaterialPropertyOverrides()

setMaterialPropertyOverrides(propNames): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:254

Parameters

propNames

Iterable<string>

Returns

void


getMaterialPropertyOverrides()

getMaterialPropertyOverrides(): string[]

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:258

Returns

string[]


markMaterialPropertyOverridden()

markMaterialPropertyOverridden(propName): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:262

Parameters

propName

string

Returns

void


isMaterialPropertyOverridden()

isMaterialPropertyOverridden(propName): boolean

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:266

Parameters

propName

string

Returns

boolean


setOverrides()

setOverrides(uniformValues, uniformTextures): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:286

Parameters

uniformValues

BluePrintUniformValue[]

uniformTextures

BluePrintUniformTexture[]

Returns

void


getOverrideUniformValues()

getOverrideUniformValues(): object[]

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:314

Returns

object[]


getOverrideUniformTextures()

getOverrideUniformTextures(): object[]

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:323

Returns

object[]


getDiscardedOverridesForParent()

getDiscardedOverridesForParent(parentMaterial): PBRBluePrintMaterialInstanceDiscardedOverrides

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:337

Parameters

parentMaterial

PBRBluePrintMaterial

Returns

PBRBluePrintMaterialInstanceDiscardedOverrides


changeParentMaterial()

changeParentMaterial(parentMaterial, parentMaterialId?): PBRBluePrintMaterialInstanceDiscardedOverrides

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:358

Parameters

parentMaterial

PBRBluePrintMaterial

parentMaterialId?

string

Returns

PBRBluePrintMaterialInstanceDiscardedOverrides


hasReflectionModeOverride()

hasReflectionModeOverride(): boolean

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:391

Returns

boolean


setBlueprintInstanceReflectionMode()

setBlueprintInstanceReflectionMode(val, inherited?): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:395

Parameters

val

PBRReflectionMode

inherited?

boolean = false

Returns

void


syncInheritedSubsurfaceProfile()

syncInheritedSubsurfaceProfile(parentProfile): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:425

Parameters

parentProfile

SubsurfaceProfile

Returns

void


setBlueprintInstanceSubsurfacePreset()

setBlueprintInstanceSubsurfacePreset(val): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:433

Parameters

val

SubsurfaceProfilePreset

Returns

void


setBlueprintInstanceSubsurfaceStrength()

setBlueprintInstanceSubsurfaceStrength(val): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:437

Parameters

val

number

Returns

void


setBlueprintInstanceSubsurfaceScale()

setBlueprintInstanceSubsurfaceScale(val): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:441

Parameters

val

number

Returns

void


setBlueprintInstanceSubsurfaceProfileValue()

setBlueprintInstanceSubsurfaceProfileValue<K>(propName, key, value): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:445

Type Parameters

K

K extends keyof SubsurfaceProfile

Parameters

propName

string

key

K

value

SubsurfaceProfile[K]

Returns

void


setParentMaterial()

setParentMaterial(parentMaterial, parentMaterialId?): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:465

Parameters

parentMaterial

PBRBluePrintMaterial

parentMaterialId?

string

Returns

void


syncInheritedUniforms()

syncInheritedUniforms(parentMaterial?): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:478

Parameters

parentMaterial?

PBRBluePrintMaterial = ...

Returns

void


onDispose()

protected onDispose(): void

Defined in: libs/scene/src/material/pbrblueprint_instance.ts:567

Dispose the material and release GPU-side resource references.

  • Unregisters from the global registry.
  • Disposes the per-material bind groups kept in _states.

Returns

void

Overrides

PBRBluePrintMaterial.onDispose

Released under the MIT License.