Skip to content

Documentation / scene / PBRBluePrintMaterial

Class: PBRBluePrintMaterial

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

Physically-based rendering material driven by blueprint graphs, but shaded by the same PBR metallic/roughness backend used by PBRMetallicRoughnessMaterial.

Remarks

The blueprint graph only produces surface inputs. Final direct/indirect lighting, transmission, clearcoat, sheen, iridescence and anisotropic reflection still run through the standard PBRM backend so imported GLTF materials and blueprint materials stay on the same shading path.

Extends

Implements

  • Clonable<PBRBluePrintMaterial>

Constructors

Constructor

new PBRBluePrintMaterial(irFrag?, irVertex?, uniformValues?, uniformTextures?): PBRBluePrintMaterial

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

Parameters

irFrag?

MaterialBlueprintIR

irVertex?

MaterialBlueprintIR

uniformValues?

BluePrintUniformValue[]

uniformTextures?

BluePrintUniformTexture[]

Returns

PBRBluePrintMaterial

Overrides

PBRMetallicRoughnessMaterial.constructor

Properties

occlusionTexture

occlusionTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.occlusionTexture


occlusionTextureSampler

occlusionTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.occlusionTextureSampler


occlusionTexCoordIndex

occlusionTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.occlusionTexCoordIndex


occlusionTexCoordMatrix

occlusionTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.occlusionTexCoordMatrix


getOcclusionTextureUniform

getOcclusionTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getOcclusionTextureUniform


getOcclusionTexCoord

getOcclusionTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getOcclusionTexCoord


sampleOcclusionTexture

sampleOcclusionTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleOcclusionTexture


emissiveTexture

emissiveTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.emissiveTexture


emissiveTextureSampler

emissiveTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.emissiveTextureSampler


emissiveTexCoordIndex

emissiveTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.emissiveTexCoordIndex


emissiveTexCoordMatrix

emissiveTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.emissiveTexCoordMatrix


getEmissiveTextureUniform

getEmissiveTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getEmissiveTextureUniform


getEmissiveTexCoord

getEmissiveTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getEmissiveTexCoord


sampleEmissiveTexture

sampleEmissiveTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleEmissiveTexture


sheenColorTexture

sheenColorTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.sheenColorTexture


sheenColorTextureSampler

sheenColorTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.sheenColorTextureSampler


sheenColorTexCoordIndex

sheenColorTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.sheenColorTexCoordIndex


sheenColorTexCoordMatrix

sheenColorTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.sheenColorTexCoordMatrix


getSheenColorTextureUniform

getSheenColorTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSheenColorTextureUniform


getSheenColorTexCoord

getSheenColorTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSheenColorTexCoord


sampleSheenColorTexture

sampleSheenColorTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleSheenColorTexture


sheenRoughnessTexture

sheenRoughnessTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.sheenRoughnessTexture


sheenRoughnessTextureSampler

sheenRoughnessTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.sheenRoughnessTextureSampler


sheenRoughnessTexCoordIndex

sheenRoughnessTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.sheenRoughnessTexCoordIndex


sheenRoughnessTexCoordMatrix

sheenRoughnessTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.sheenRoughnessTexCoordMatrix


getSheenRoughnessTextureUniform

getSheenRoughnessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSheenRoughnessTextureUniform


getSheenRoughnessTexCoord

getSheenRoughnessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSheenRoughnessTexCoord


sampleSheenRoughnessTexture

sampleSheenRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleSheenRoughnessTexture


clearcoatIntensityTexture

clearcoatIntensityTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.clearcoatIntensityTexture


clearcoatIntensityTextureSampler

clearcoatIntensityTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.clearcoatIntensityTextureSampler


clearcoatIntensityTexCoordIndex

clearcoatIntensityTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.clearcoatIntensityTexCoordIndex


clearcoatIntensityTexCoordMatrix

clearcoatIntensityTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.clearcoatIntensityTexCoordMatrix


getClearcoatIntensityTextureUniform

getClearcoatIntensityTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getClearcoatIntensityTextureUniform


getClearcoatIntensityTexCoord

getClearcoatIntensityTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getClearcoatIntensityTexCoord


sampleClearcoatIntensityTexture

sampleClearcoatIntensityTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleClearcoatIntensityTexture


clearcoatRoughnessTexture

clearcoatRoughnessTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.clearcoatRoughnessTexture


clearcoatRoughnessTextureSampler

clearcoatRoughnessTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.clearcoatRoughnessTextureSampler


clearcoatRoughnessTexCoordIndex

clearcoatRoughnessTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.clearcoatRoughnessTexCoordIndex


clearcoatRoughnessTexCoordMatrix

clearcoatRoughnessTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.clearcoatRoughnessTexCoordMatrix


getClearcoatRoughnessTextureUniform

getClearcoatRoughnessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getClearcoatRoughnessTextureUniform


getClearcoatRoughnessTexCoord

getClearcoatRoughnessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getClearcoatRoughnessTexCoord


sampleClearcoatRoughnessTexture

sampleClearcoatRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleClearcoatRoughnessTexture


clearcoatNormalTexture

clearcoatNormalTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.clearcoatNormalTexture


clearcoatNormalTextureSampler

clearcoatNormalTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.clearcoatNormalTextureSampler


clearcoatNormalTexCoordIndex

clearcoatNormalTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.clearcoatNormalTexCoordIndex


clearcoatNormalTexCoordMatrix

clearcoatNormalTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.clearcoatNormalTexCoordMatrix


getClearcoatNormalTextureUniform

getClearcoatNormalTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getClearcoatNormalTextureUniform


getClearcoatNormalTexCoord

getClearcoatNormalTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getClearcoatNormalTexCoord


sampleClearcoatNormalTexture

sampleClearcoatNormalTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleClearcoatNormalTexture


transmissionTexture

transmissionTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.transmissionTexture


transmissionTextureSampler

transmissionTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.transmissionTextureSampler


transmissionTexCoordIndex

transmissionTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.transmissionTexCoordIndex


transmissionTexCoordMatrix

transmissionTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.transmissionTexCoordMatrix


getTransmissionTextureUniform

getTransmissionTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getTransmissionTextureUniform


getTransmissionTexCoord

getTransmissionTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getTransmissionTexCoord


sampleTransmissionTexture

sampleTransmissionTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleTransmissionTexture


thicknessTexture

thicknessTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.thicknessTexture


thicknessTextureSampler

thicknessTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.thicknessTextureSampler


thicknessTexCoordIndex

thicknessTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.thicknessTexCoordIndex


thicknessTexCoordMatrix

thicknessTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.thicknessTexCoordMatrix


getThicknessTextureUniform

getThicknessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getThicknessTextureUniform


getThicknessTexCoord

getThicknessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getThicknessTexCoord


sampleThicknessTexture

sampleThicknessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleThicknessTexture


iridescenceTexture

iridescenceTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.iridescenceTexture


iridescenceTextureSampler

iridescenceTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.iridescenceTextureSampler


iridescenceTexCoordIndex

iridescenceTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.iridescenceTexCoordIndex


iridescenceTexCoordMatrix

iridescenceTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.iridescenceTexCoordMatrix


getIridescenceTextureUniform

getIridescenceTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getIridescenceTextureUniform


getIridescenceTexCoord

getIridescenceTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getIridescenceTexCoord


sampleIridescenceTexture

sampleIridescenceTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleIridescenceTexture


iridescenceThicknessTexture

iridescenceThicknessTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.iridescenceThicknessTexture


iridescenceThicknessTextureSampler

iridescenceThicknessTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.iridescenceThicknessTextureSampler


iridescenceThicknessTexCoordIndex

iridescenceThicknessTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.iridescenceThicknessTexCoordIndex


iridescenceThicknessTexCoordMatrix

iridescenceThicknessTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.iridescenceThicknessTexCoordMatrix


getIridescenceThicknessTextureUniform

getIridescenceThicknessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getIridescenceThicknessTextureUniform


getIridescenceThicknessTexCoord

getIridescenceThicknessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getIridescenceThicknessTexCoord


sampleIridescenceThicknessTexture

sampleIridescenceThicknessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleIridescenceThicknessTexture


normalTexture

normalTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.normalTexture


normalTextureSampler

normalTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.normalTextureSampler


normalTexCoordIndex

normalTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.normalTexCoordIndex


normalTexCoordMatrix

normalTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.normalTexCoordMatrix


getNormalTextureUniform

getNormalTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getNormalTextureUniform


getNormalTexCoord

getNormalTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getNormalTexCoord


sampleNormalTexture

sampleNormalTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleNormalTexture


albedoTexture

albedoTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.albedoTexture


albedoTextureSampler

albedoTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.albedoTextureSampler


albedoTexCoordIndex

albedoTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.albedoTexCoordIndex


albedoTexCoordMatrix

albedoTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.albedoTexCoordMatrix


getAlbedoTextureUniform

getAlbedoTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getAlbedoTextureUniform


getAlbedoTexCoord

getAlbedoTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getAlbedoTexCoord


sampleAlbedoTexture

sampleAlbedoTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleAlbedoTexture


metallicRoughnessTexture

metallicRoughnessTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.metallicRoughnessTexture


metallicRoughnessTextureSampler

metallicRoughnessTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.metallicRoughnessTextureSampler


metallicRoughnessTexCoordIndex

metallicRoughnessTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.metallicRoughnessTexCoordIndex


metallicRoughnessTexCoordMatrix

metallicRoughnessTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.metallicRoughnessTexCoordMatrix


getMetallicRoughnessTextureUniform

getMetallicRoughnessTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getMetallicRoughnessTextureUniform


getMetallicRoughnessTexCoord

getMetallicRoughnessTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getMetallicRoughnessTexCoord


sampleMetallicRoughnessTexture

sampleMetallicRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleMetallicRoughnessTexture


specularTexture

specularTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.specularTexture


specularTextureSampler

specularTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.specularTextureSampler


specularTexCoordIndex

specularTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.specularTexCoordIndex


specularTexCoordMatrix

specularTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.specularTexCoordMatrix


getSpecularTextureUniform

getSpecularTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSpecularTextureUniform


getSpecularTexCoord

getSpecularTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSpecularTexCoord


sampleSpecularTexture

sampleSpecularTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleSpecularTexture


specularColorTexture

specularColorTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.specularColorTexture


specularColorTextureSampler

specularColorTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.specularColorTextureSampler


specularColorTexCoordIndex

specularColorTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.specularColorTexCoordIndex


specularColorTexCoordMatrix

specularColorTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.specularColorTexCoordMatrix


getSpecularColorTextureUniform

getSpecularColorTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSpecularColorTextureUniform


getSpecularColorTexCoord

getSpecularColorTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSpecularColorTexCoord


sampleSpecularColorTexture

sampleSpecularColorTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleSpecularColorTexture


anisotropyDirectionTexture

anisotropyDirectionTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.anisotropyDirectionTexture


anisotropyDirectionTextureSampler

anisotropyDirectionTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.anisotropyDirectionTextureSampler


anisotropyDirectionTexCoordIndex

anisotropyDirectionTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.anisotropyDirectionTexCoordIndex


anisotropyDirectionTexCoordMatrix

anisotropyDirectionTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.anisotropyDirectionTexCoordMatrix


getAnisotropyDirectionTextureUniform

getAnisotropyDirectionTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getAnisotropyDirectionTextureUniform


getAnisotropyDirectionTexCoord

getAnisotropyDirectionTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getAnisotropyDirectionTexCoord


sampleAnisotropyDirectionTexture

sampleAnisotropyDirectionTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleAnisotropyDirectionTexture


subsurfaceTexture

subsurfaceTexture: Texture2D<unknown>

Inherited from

PBRMetallicRoughnessMaterial.subsurfaceTexture


subsurfaceTextureSampler

subsurfaceTextureSampler: TextureSampler<unknown>

Inherited from

PBRMetallicRoughnessMaterial.subsurfaceTextureSampler


subsurfaceTexCoordIndex

subsurfaceTexCoordIndex: number

Inherited from

PBRMetallicRoughnessMaterial.subsurfaceTexCoordIndex


subsurfaceTexCoordMatrix

subsurfaceTexCoordMatrix: Matrix4x4

Inherited from

PBRMetallicRoughnessMaterial.subsurfaceTexCoordMatrix


getSubsurfaceTextureUniform

getSubsurfaceTextureUniform: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSubsurfaceTextureUniform


getSubsurfaceTexCoord

getSubsurfaceTexCoord: (scope) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSubsurfaceTexCoord


sampleSubsurfaceTexture

sampleSubsurfaceTexture: (scope, texCoord?) => PBShaderExp

Parameters

scope

PBInsideFunctionScope

texCoord?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.sampleSubsurfaceTexture


albedoColor

albedoColor: Vector4

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

Inherited from

PBRMetallicRoughnessMaterial.albedoColor


metallic

metallic: number

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

Inherited from

PBRMetallicRoughnessMaterial.metallic


roughness

roughness: number

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

Inherited from

PBRMetallicRoughnessMaterial.roughness


specularFactor

specularFactor: Vector4

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

Inherited from

PBRMetallicRoughnessMaterial.specularFactor


reflectionMode

reflectionMode: PBRReflectionMode

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

Inherited from

PBRMetallicRoughnessMaterial.reflectionMode


anisotropy

anisotropy: number

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

Inherited from

PBRMetallicRoughnessMaterial.anisotropy


anisotropyDirection

anisotropyDirection: number

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

Inherited from

PBRMetallicRoughnessMaterial.anisotropyDirection


anisotropyDirectionScaleBias

anisotropyDirectionScaleBias: Vector2

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

Inherited from

PBRMetallicRoughnessMaterial.anisotropyDirectionScaleBias


normalScale

normalScale: number

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

Inherited from

PBRMetallicRoughnessMaterial.normalScale


normalMapMode

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

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

Inherited from

PBRMetallicRoughnessMaterial.normalMapMode


doubleSidedLighting

doubleSidedLighting: boolean

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

Inherited from

PBRMetallicRoughnessMaterial.doubleSidedLighting


ior

ior: number

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

Inherited from

PBRMetallicRoughnessMaterial.ior


emissiveColor

emissiveColor: Vector3

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

Inherited from

PBRMetallicRoughnessMaterial.emissiveColor


emissiveStrength

emissiveStrength: number

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

Inherited from

PBRMetallicRoughnessMaterial.emissiveStrength


occlusionStrength

occlusionStrength: number

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

Inherited from

PBRMetallicRoughnessMaterial.occlusionStrength


rectSpecularScale

rectSpecularScale: number

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

Inherited from

PBRMetallicRoughnessMaterial.rectSpecularScale


transmission

transmission: boolean

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

Inherited from

PBRMetallicRoughnessMaterial.transmission


transmissionFactor

transmissionFactor: number

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

Inherited from

PBRMetallicRoughnessMaterial.transmissionFactor


thicknessFactor

thicknessFactor: number

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

Inherited from

PBRMetallicRoughnessMaterial.thicknessFactor


attenuationColor

attenuationColor: Vector3

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

Inherited from

PBRMetallicRoughnessMaterial.attenuationColor


attenuationDistance

attenuationDistance: number

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

Inherited from

PBRMetallicRoughnessMaterial.attenuationDistance


sheen

sheen: boolean

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

Inherited from

PBRMetallicRoughnessMaterial.sheen


sheenColorFactor

sheenColorFactor: Vector3

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

Inherited from

PBRMetallicRoughnessMaterial.sheenColorFactor


sheenRoughnessFactor

sheenRoughnessFactor: number

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

Inherited from

PBRMetallicRoughnessMaterial.sheenRoughnessFactor


clearcoat

clearcoat: boolean

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

Inherited from

PBRMetallicRoughnessMaterial.clearcoat


clearcoatIntensity

clearcoatIntensity: number

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

Inherited from

PBRMetallicRoughnessMaterial.clearcoatIntensity


clearcoatRoughnessFactor

clearcoatRoughnessFactor: number

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

Inherited from

PBRMetallicRoughnessMaterial.clearcoatRoughnessFactor


iridescence

iridescence: boolean

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

Inherited from

PBRMetallicRoughnessMaterial.iridescence


iridescenceFactor

iridescenceFactor: number

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

Inherited from

PBRMetallicRoughnessMaterial.iridescenceFactor


iridescenceIor

iridescenceIor: number

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

Inherited from

PBRMetallicRoughnessMaterial.iridescenceIor


iridescenceThicknessMin

iridescenceThicknessMin: number

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

Inherited from

PBRMetallicRoughnessMaterial.iridescenceThicknessMin


iridescenceThicknessMax

iridescenceThicknessMax: number

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

Inherited from

PBRMetallicRoughnessMaterial.iridescenceThicknessMax


vertexColor

vertexColor: boolean

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

Inherited from

PBRMetallicRoughnessMaterial.vertexColor

Accessors

disposed

Get Signature

get disposed(): boolean

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

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.disposed


changeTag

Get Signature

get changeTag(): number

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

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

Returns

number

Inherited from

PBRMetallicRoughnessMaterial.changeTag


instanceId

Get Signature

get instanceId(): number

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

Runtime-unique numeric identifier for the material instance.

Returns

number

Inherited from

PBRMetallicRoughnessMaterial.instanceId


numPasses

Get Signature

get numPasses(): number

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

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:183

Parameters
val

number

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.numPasses


coreMaterial

Get Signature

get coreMaterial(): this

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

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

PBRMetallicRoughnessMaterial.coreMaterial


drawContext

Get Signature

get drawContext(): DrawContext

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

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

Returns

DrawContext

The last DrawContext used to build or apply this material.

Inherited from

PBRMetallicRoughnessMaterial.drawContext


pass

Get Signature

get pass(): number

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

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

PBRMetallicRoughnessMaterial.pass


alphaCutoff

Get Signature

get alphaCutoff(): number

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

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:529

Parameters
val

number

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.alphaCutoff


alphaDither

Get Signature

get alphaDither(): boolean

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

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:544

Parameters
val

boolean

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.alphaDither


TAADisabled

Get Signature

get TAADisabled(): boolean

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

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:558

Parameters
val

boolean

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.TAADisabled


TAAStrength

Get Signature

get TAAStrength(): number

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

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:569

Parameters
val

number

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.TAAStrength


alphaToCoverage

Get Signature

get alphaToCoverage(): boolean

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

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:584

Parameters
val

boolean

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.alphaToCoverage


blendMode

Get Signature

get blendMode(): BlendMode

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

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:595

Parameters
val

BlendMode

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.blendMode


transparentShadowCaster

Get Signature

get transparentShadowCaster(): boolean

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

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:609

Parameters
val

boolean

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.transparentShadowCaster


shadowAlphaCutoff

Get Signature

get shadowAlphaCutoff(): number

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

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:621

Parameters
val

number

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.shadowAlphaCutoff


cullMode

Get Signature

get cullMode(): FaceMode

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

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:635

Parameters
val

FaceMode

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.cullMode


opacity

Get Signature

get opacity(): number

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

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:648

Parameters
val

number

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.opacity


objectColor

Get Signature

get objectColor(): Immutable<Vector4>

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

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:662

Parameters
val

Immutable<Vector4>

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.objectColor


fragmentIR

Get Signature

get fragmentIR(): MaterialBlueprintIR

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

Returns

MaterialBlueprintIR

Set Signature

set fragmentIR(ir): void

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

Parameters
ir

MaterialBlueprintIR

Returns

void


vertexIR

Get Signature

get vertexIR(): MaterialBlueprintIR

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

Returns

MaterialBlueprintIR

Set Signature

set vertexIR(ir): void

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

Parameters
ir

MaterialBlueprintIR

Returns

void


uniformValues

Get Signature

get uniformValues(): BluePrintUniformValue[]

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

Returns

BluePrintUniformValue[]

Set Signature

set uniformValues(val): void

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

Parameters
val

BluePrintUniformValue[]

Returns

void


uniformTextures

Get Signature

get uniformTextures(): BluePrintUniformTexture[]

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

Returns

BluePrintUniformTexture[]

Set Signature

set uniformTextures(val): void

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

Parameters
val

BluePrintUniformTexture[]

Returns

void


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

PBRMetallicRoughnessMaterial.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

PBRMetallicRoughnessMaterial.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

PBRMetallicRoughnessMaterial.subsurfaceProfile

Methods

on()

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

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

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

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

context?

unknown

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.on


once()

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

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

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

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

context?

unknown

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.once


off()

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

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

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.off


dispatchEvent()

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

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

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.dispatchEvent


dispose()

dispose(): void

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

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.dispose


supportInstancing()

supportInstancing(): boolean

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

Whether this material supports hardware instancing.

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

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.supportInstancing


isBatchable()

isBatchable(): boolean

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

Returns true if this is a instance of material

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.isBatchable


needSceneColor()

needSceneColor(): boolean

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

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

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.needSceneColor


needSceneDepth()

needSceneDepth(): boolean

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

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

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.needSceneDepth


applyUniforms()

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

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

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

PBRMetallicRoughnessMaterial.applyUniforms


clearCache()

clearCache(): void

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

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.clearCache


passToHash()

passToHash(pass): string

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

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

PBRMetallicRoughnessMaterial.passToHash


drawPrimitive()

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

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

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

PBRMetallicRoughnessMaterial.drawPrimitive


apply()

apply(ctx): boolean

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

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

PBRMetallicRoughnessMaterial.apply


uniformChanged()

uniformChanged(): void

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

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

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.uniformChanged


defineFeature()

static defineFeature(): number

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

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

Returns

number

Inherited from

PBRMetallicRoughnessMaterial.defineFeature


defineInstanceUniform()

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

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

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

PBRMetallicRoughnessMaterial.defineInstanceUniform


getInstancedUniform()

getInstancedUniform(scope, uniformIndex): PBShaderExp

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

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

PBRMetallicRoughnessMaterial.getInstancedUniform


getInstancedUniforms()

getInstancedUniforms(): object[]

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

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

Returns

object[]

Inherited from

PBRMetallicRoughnessMaterial.getInstancedUniforms


createInstance()

createInstance(): this

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

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

PBRMetallicRoughnessMaterial.createInstance


supportLighting()

supportLighting(): boolean

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

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

PBRMetallicRoughnessMaterial.supportLighting


getEffectiveBlendMode()

protected getEffectiveBlendMode(pass, ctx?): BlendMode

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

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

PBRMetallicRoughnessMaterial.getEffectiveBlendMode


getActiveAlphaCutoff()

protected getActiveAlphaCutoff(ctx?, pass?): number

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

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

Parameters

ctx?

DrawContext

pass?

number = ...

Returns

number

Inherited from

PBRMetallicRoughnessMaterial.getActiveAlphaCutoff


useTransparentShadowCaster()

useTransparentShadowCaster(ctx?, _pass?): boolean

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

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

Parameters

ctx?

DrawContext

_pass?

number = ...

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.useTransparentShadowCaster


useTransparentShadowCasterForPass()

useTransparentShadowCasterForPass(renderPassType?): boolean

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

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

Parameters

renderPassType?

number

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.useTransparentShadowCasterForPass


usesAlphaCutoff()

protected usesAlphaCutoff(ctx?, pass?): boolean

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

Whether this pass needs an alpha-cutoff uniform bound.

Parameters

ctx?

DrawContext

pass?

number = ...

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.usesAlphaCutoff


needFragmentColorInput()

needFragmentColorInput(ctx?): boolean

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

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

PBRMetallicRoughnessMaterial.needFragmentColorInput


updateRenderStates()

protected updateRenderStates(pass, stateSet, ctx): void

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

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

PBRMetallicRoughnessMaterial.updateRenderStates


getQueueType()

getQueueType(): number

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

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

PBRMetallicRoughnessMaterial.getQueueType


isTransparentPass()

isTransparentPass(pass, ctx?): boolean

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

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

PBRMetallicRoughnessMaterial.isTransparentPass


featureUsed()

featureUsed<T>(feature): T

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

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

PBRMetallicRoughnessMaterial.featureUsed


useFeature()

useFeature(feature, use): void

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

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

PBRMetallicRoughnessMaterial.useFeature


needFragmentColor()

needFragmentColor(ctx?): boolean

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

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

PBRMetallicRoughnessMaterial.needFragmentColor


outputFragmentColor()

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

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

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

PBRMetallicRoughnessMaterial.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

PBRMetallicRoughnessMaterial.PBRLight


calculateCommonData()

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

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

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

TBN

PBShaderExp

data

PBShaderExp

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.calculateCommonData


needCalculateEnvLight()

needCalculateEnvLight(): boolean

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

Returns

boolean

Inherited from

PBRMetallicRoughnessMaterial.needCalculateEnvLight


getUniformNormalScale()

getUniformNormalScale(scope): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getUniformNormalScale


getEnvLightIrradiance()

getEnvLightIrradiance(scope, normal): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

normal

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getEnvLightIrradiance


getEnvLightRadiance()

getEnvLightRadiance(scope, reflectVec, roughness): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

reflectVec

PBShaderExp

roughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getEnvLightRadiance


calculateViewVector()

calculateViewVector(scope, worldPos): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateViewVector


calculateReflectionVector()

calculateReflectionVector(scope, normal, viewVec): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

normal

PBShaderExp

viewVec

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateReflectionVector


calculateTBN()

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

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

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal?

PBShaderExp

worldTangent?

PBShaderExp

worldBinormal?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateTBN


calculateNormal()

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

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

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal?

PBShaderExp

worldTangent?

PBShaderExp

worldBinormal?

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateNormal


calculateLightAttenuation()

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

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

Parameters

scope

PBInsideFunctionScope

type

PBShaderExp

worldPos

PBShaderExp

posRange

PBShaderExp

dirCutoff

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateLightAttenuation


calculateLightDirection()

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

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

Parameters

scope

PBInsideFunctionScope

type

PBShaderExp

worldPos

PBShaderExp

posRange

PBShaderExp

dirCutoff

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateLightDirection


calculateShadow()

calculateShadow(scope, worldPos, NoL): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

NoL

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.calculateShadow


forEachLight()

forEachLight(scope, callback): void

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

Parameters

scope

PBInsideFunctionScope

callback

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

Returns

void

Inherited from

PBRMetallicRoughnessMaterial.forEachLight


fresnelSchlick()

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

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

Parameters

scope

PBInsideFunctionScope

cosTheta

PBShaderExp

F0

PBShaderExp

F90

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.fresnelSchlick


distributionGGX()

distributionGGX(scope, NdotH, alphaRoughness): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

NdotH

PBShaderExp

alphaRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.distributionGGX


visGGX()

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

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

Parameters

scope

PBInsideFunctionScope

NdotV

PBShaderExp

NdotL

PBShaderExp

alphaRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.visGGX


getCommonData()

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

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

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

viewVec

PBShaderExp

TBN

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getCommonData


getCommonDatasStruct()

getCommonDatasStruct(scope): ShaderTypeFunc

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

Parameters

scope

PBInsideFunctionScope

Returns

ShaderTypeFunc

Inherited from

PBRMetallicRoughnessMaterial.getCommonDatasStruct


getF0()

getF0(scope): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getF0


getSheenAlbedoScaling()

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

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

Parameters

scope

PBInsideFunctionScope

Ndot

PBShaderExp

sheenColor

PBShaderExp

sheenRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSheenAlbedoScaling


getSheenAlbedoScalingForDirect()

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

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

Parameters

scope

PBInsideFunctionScope

NoV

PBShaderExp

NoL

PBShaderExp

sheenColor

PBShaderExp

sheenRoughness

PBShaderExp

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getSheenAlbedoScalingForDirect


directLighting()

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

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

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

PBRMetallicRoughnessMaterial.directLighting


directRectLight()

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

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

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

PBRMetallicRoughnessMaterial.directRectLight


getVertexColor()

getVertexColor(scope): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Inherited from

PBRMetallicRoughnessMaterial.getVertexColor


hasConnectedOutput()

hasConnectedOutput(name): boolean

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

Parameters

name

PBRBlueprintOutputName

Returns

boolean


clone()

clone(): PBRBluePrintMaterial

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

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

Returns

PBRBluePrintMaterial

Implementation of

Clonable.clone

Overrides

PBRMetallicRoughnessMaterial.clone


copyFrom()

copyFrom(other): void

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

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

Parameters

other

this

Source material.

Returns

void

Overrides

PBRMetallicRoughnessMaterial.copyFrom


vertexShader()

vertexShader(scope): void

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

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

Overrides

PBRMetallicRoughnessMaterial.vertexShader


fragmentShader()

fragmentShader(scope): void

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

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

Overrides

PBRMetallicRoughnessMaterial.fragmentShader


applyUniformValues()

applyUniformValues(bindGroup, ctx, pass): void

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

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

Overrides

PBRMetallicRoughnessMaterial.applyUniformValues


_createHash()

protected _createHash(): string

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

Returns

string

Overrides

PBRMetallicRoughnessMaterial._createHash


onDispose()

protected onDispose(): void

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

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

PBRMetallicRoughnessMaterial.onDispose


calculateAlbedoColor()

calculateAlbedoColor(scope, uv?): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

uv?

PBShaderExp

Returns

PBShaderExp

Overrides

PBRMetallicRoughnessMaterial.calculateAlbedoColor


calculateMetallic()

calculateMetallic(scope, albedo, normal): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

Returns

PBShaderExp

Overrides

PBRMetallicRoughnessMaterial.calculateMetallic


calculateRoughness()

calculateRoughness(scope, albedo, normal): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

Returns

PBShaderExp

Overrides

PBRMetallicRoughnessMaterial.calculateRoughness


calculateSpecularFactor()

calculateSpecularFactor(scope, albedo, normal): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

albedo

PBShaderExp

normal

PBShaderExp

Returns

PBShaderExp

Overrides

PBRMetallicRoughnessMaterial.calculateSpecularFactor


calculateEmissiveColor()

calculateEmissiveColor(scope): PBShaderExp

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

Parameters

scope

PBInsideFunctionScope

Returns

PBShaderExp

Overrides

PBRMetallicRoughnessMaterial.calculateEmissiveColor


calculateNormalAndTBN()

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

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

Parameters

scope

PBInsideFunctionScope

worldPos

PBShaderExp

worldNormal?

PBShaderExp

worldTangent?

PBShaderExp

worldBinormal?

PBShaderExp

Returns

PBShaderExp

Overrides

PBRMetallicRoughnessMaterial.calculateNormalAndTBN


indirectLighting()

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

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

Parameters

scope

PBInsideFunctionScope

normal

PBShaderExp

viewVec

PBShaderExp

commonData

PBShaderExp

outColor

PBShaderExp

outRoughness?

PBShaderExp

outDiffuseColor?

PBShaderExp

Returns

void

Overrides

PBRMetallicRoughnessMaterial.indirectLighting

Released under the MIT License.