Skip to content

Documentation / scene / GrassMaterial

Class: GrassMaterial ​

Defined in: libs/scene/src/material/grassmaterial.ts:15

Terrain grass material

Extends ​

  • MeshMaterial<this> & object & object & TextureProp<"occlusion"> & object & object & object & TextureProp<"emissive"> & object & object & object & TextureProp<"sheenColor"> & object & object & object & TextureProp<"sheenRoughness"> & object & object & object & TextureProp<"clearcoatIntensity"> & object & object & object & TextureProp<"clearcoatRoughness"> & object & object & object & TextureProp<"clearcoatNormal"> & object & object & object & TextureProp<"transmission"> & object & object & object & TextureProp<"thickness"> & object & object & object & TextureProp<"iridescence"> & object & object & object & TextureProp<"iridescenceThickness"> & object & object & object & IMixinPBRBRDF & object & TextureProp<"normal"> & object & object & object & object & TextureProp<"albedo"> & object & object & object & TextureProp<"metallicRoughness"> & object & object & object & TextureProp<"specular"> & object & object & object & TextureProp<"specularColor"> & object & object & object & TextureProp<"anisotropyDirection"> & object & object & object & IMixinFoliage

Implements ​

  • Clonable<GrassMaterial>

Constructors ​

Constructor ​

new GrassMaterial(terrainSize, normalMap, grassTexture?): GrassMaterial

Defined in: libs/scene/src/material/grassmaterial.ts:31

Creates an instance of GrassMaterial class

Parameters ​

terrainSize ​

Vector2

terrain size

normalMap ​

Texture2D

normal map

grassTexture? ​

Texture2D<unknown>

grass texture

Returns ​

GrassMaterial

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).constructor

Properties ​

occlusionTexture ​

occlusionTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).occlusionTexture


occlusionTextureSampler ​

occlusionTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).occlusionTextureSampler


occlusionTexCoordIndex ​

occlusionTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).occlusionTexCoordIndex


occlusionTexCoordMatrix ​

occlusionTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).occlusionTexCoordMatrix


hasOcclusionTexture ​

hasOcclusionTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasOcclusionTexture


getOcclusionTextureUniform ​

getOcclusionTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getOcclusionTextureUniform


getOcclusionTexCoord ​

getOcclusionTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getOcclusionTexCoord


sampleOcclusionTexture ​

sampleOcclusionTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleOcclusionTexture


emissiveTexture ​

emissiveTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveTexture


emissiveTextureSampler ​

emissiveTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveTextureSampler


emissiveTexCoordIndex ​

emissiveTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveTexCoordIndex


emissiveTexCoordMatrix ​

emissiveTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveTexCoordMatrix


hasEmissiveTexture ​

hasEmissiveTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasEmissiveTexture


getEmissiveTextureUniform ​

getEmissiveTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getEmissiveTextureUniform


getEmissiveTexCoord ​

getEmissiveTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getEmissiveTexCoord


sampleEmissiveTexture ​

sampleEmissiveTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleEmissiveTexture


sheenColorTexture ​

sheenColorTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenColorTexture


sheenColorTextureSampler ​

sheenColorTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenColorTextureSampler


sheenColorTexCoordIndex ​

sheenColorTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenColorTexCoordIndex


sheenColorTexCoordMatrix ​

sheenColorTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenColorTexCoordMatrix


hasSheenColorTexture ​

hasSheenColorTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasSheenColorTexture


getSheenColorTextureUniform ​

getSheenColorTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSheenColorTextureUniform


getSheenColorTexCoord ​

getSheenColorTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSheenColorTexCoord


sampleSheenColorTexture ​

sampleSheenColorTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleSheenColorTexture


sheenRoughnessTexture ​

sheenRoughnessTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenRoughnessTexture


sheenRoughnessTextureSampler ​

sheenRoughnessTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenRoughnessTextureSampler


sheenRoughnessTexCoordIndex ​

sheenRoughnessTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenRoughnessTexCoordIndex


sheenRoughnessTexCoordMatrix ​

sheenRoughnessTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenRoughnessTexCoordMatrix


hasSheenRoughnessTexture ​

hasSheenRoughnessTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasSheenRoughnessTexture


getSheenRoughnessTextureUniform ​

getSheenRoughnessTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSheenRoughnessTextureUniform


getSheenRoughnessTexCoord ​

getSheenRoughnessTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSheenRoughnessTexCoord


sampleSheenRoughnessTexture ​

sampleSheenRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleSheenRoughnessTexture


clearcoatIntensityTexture ​

clearcoatIntensityTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatIntensityTexture


clearcoatIntensityTextureSampler ​

clearcoatIntensityTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatIntensityTextureSampler


clearcoatIntensityTexCoordIndex ​

clearcoatIntensityTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatIntensityTexCoordIndex


clearcoatIntensityTexCoordMatrix ​

clearcoatIntensityTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatIntensityTexCoordMatrix


hasClearcoatIntensityTexture ​

hasClearcoatIntensityTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasClearcoatIntensityTexture


getClearcoatIntensityTextureUniform ​

getClearcoatIntensityTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getClearcoatIntensityTextureUniform


getClearcoatIntensityTexCoord ​

getClearcoatIntensityTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getClearcoatIntensityTexCoord


sampleClearcoatIntensityTexture ​

sampleClearcoatIntensityTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleClearcoatIntensityTexture


clearcoatRoughnessTexture ​

clearcoatRoughnessTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatRoughnessTexture


clearcoatRoughnessTextureSampler ​

clearcoatRoughnessTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatRoughnessTextureSampler


clearcoatRoughnessTexCoordIndex ​

clearcoatRoughnessTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatRoughnessTexCoordIndex


clearcoatRoughnessTexCoordMatrix ​

clearcoatRoughnessTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatRoughnessTexCoordMatrix


hasClearcoatRoughnessTexture ​

hasClearcoatRoughnessTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasClearcoatRoughnessTexture


getClearcoatRoughnessTextureUniform ​

getClearcoatRoughnessTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getClearcoatRoughnessTextureUniform


getClearcoatRoughnessTexCoord ​

getClearcoatRoughnessTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getClearcoatRoughnessTexCoord


sampleClearcoatRoughnessTexture ​

sampleClearcoatRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleClearcoatRoughnessTexture


clearcoatNormalTexture ​

clearcoatNormalTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatNormalTexture


clearcoatNormalTextureSampler ​

clearcoatNormalTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatNormalTextureSampler


clearcoatNormalTexCoordIndex ​

clearcoatNormalTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatNormalTexCoordIndex


clearcoatNormalTexCoordMatrix ​

clearcoatNormalTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatNormalTexCoordMatrix


hasClearcoatNormalTexture ​

hasClearcoatNormalTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasClearcoatNormalTexture


getClearcoatNormalTextureUniform ​

getClearcoatNormalTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getClearcoatNormalTextureUniform


getClearcoatNormalTexCoord ​

getClearcoatNormalTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getClearcoatNormalTexCoord


sampleClearcoatNormalTexture ​

sampleClearcoatNormalTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleClearcoatNormalTexture


transmissionTexture ​

transmissionTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).transmissionTexture


transmissionTextureSampler ​

transmissionTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).transmissionTextureSampler


transmissionTexCoordIndex ​

transmissionTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).transmissionTexCoordIndex


transmissionTexCoordMatrix ​

transmissionTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).transmissionTexCoordMatrix


hasTransmissionTexture ​

hasTransmissionTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasTransmissionTexture


getTransmissionTextureUniform ​

getTransmissionTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getTransmissionTextureUniform


getTransmissionTexCoord ​

getTransmissionTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getTransmissionTexCoord


sampleTransmissionTexture ​

sampleTransmissionTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleTransmissionTexture


thicknessTexture ​

thicknessTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).thicknessTexture


thicknessTextureSampler ​

thicknessTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).thicknessTextureSampler


thicknessTexCoordIndex ​

thicknessTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).thicknessTexCoordIndex


thicknessTexCoordMatrix ​

thicknessTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).thicknessTexCoordMatrix


hasThicknessTexture ​

hasThicknessTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasThicknessTexture


getThicknessTextureUniform ​

getThicknessTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getThicknessTextureUniform


getThicknessTexCoord ​

getThicknessTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getThicknessTexCoord


sampleThicknessTexture ​

sampleThicknessTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleThicknessTexture


iridescenceTexture ​

iridescenceTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceTexture


iridescenceTextureSampler ​

iridescenceTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceTextureSampler


iridescenceTexCoordIndex ​

iridescenceTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceTexCoordIndex


iridescenceTexCoordMatrix ​

iridescenceTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceTexCoordMatrix


hasIridescenceTexture ​

hasIridescenceTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasIridescenceTexture


getIridescenceTextureUniform ​

getIridescenceTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getIridescenceTextureUniform


getIridescenceTexCoord ​

getIridescenceTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getIridescenceTexCoord


sampleIridescenceTexture ​

sampleIridescenceTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleIridescenceTexture


iridescenceThicknessTexture ​

iridescenceThicknessTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceThicknessTexture


iridescenceThicknessTextureSampler ​

iridescenceThicknessTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceThicknessTextureSampler


iridescenceThicknessTexCoordIndex ​

iridescenceThicknessTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceThicknessTexCoordIndex


iridescenceThicknessTexCoordMatrix ​

iridescenceThicknessTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceThicknessTexCoordMatrix


hasIridescenceThicknessTexture ​

hasIridescenceThicknessTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasIridescenceThicknessTexture


getIridescenceThicknessTextureUniform ​

getIridescenceThicknessTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getIridescenceThicknessTextureUniform


getIridescenceThicknessTexCoord ​

getIridescenceThicknessTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getIridescenceThicknessTexCoord


sampleIridescenceThicknessTexture ​

sampleIridescenceThicknessTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleIridescenceThicknessTexture


normalTexture ​

normalTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalTexture


normalTextureSampler ​

normalTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalTextureSampler


normalTexCoordIndex ​

normalTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalTexCoordIndex


normalTexCoordMatrix ​

normalTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalTexCoordMatrix


hasNormalTexture ​

hasNormalTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasNormalTexture


getNormalTextureUniform ​

getNormalTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getNormalTextureUniform


getNormalTexCoord ​

getNormalTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getNormalTexCoord


sampleNormalTexture ​

sampleNormalTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleNormalTexture


albedoTexture ​

albedoTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).albedoTexture


albedoTextureSampler ​

albedoTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).albedoTextureSampler


albedoTexCoordIndex ​

albedoTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).albedoTexCoordIndex


albedoTexCoordMatrix ​

albedoTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).albedoTexCoordMatrix


hasAlbedoTexture ​

hasAlbedoTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasAlbedoTexture


getAlbedoTextureUniform ​

getAlbedoTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getAlbedoTextureUniform


getAlbedoTexCoord ​

getAlbedoTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getAlbedoTexCoord


sampleAlbedoTexture ​

sampleAlbedoTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleAlbedoTexture


metallicRoughnessTexture ​

metallicRoughnessTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).metallicRoughnessTexture


metallicRoughnessTextureSampler ​

metallicRoughnessTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).metallicRoughnessTextureSampler


metallicRoughnessTexCoordIndex ​

metallicRoughnessTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).metallicRoughnessTexCoordIndex


metallicRoughnessTexCoordMatrix ​

metallicRoughnessTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).metallicRoughnessTexCoordMatrix


hasMetallicRoughnessTexture ​

hasMetallicRoughnessTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasMetallicRoughnessTexture


getMetallicRoughnessTextureUniform ​

getMetallicRoughnessTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getMetallicRoughnessTextureUniform


getMetallicRoughnessTexCoord ​

getMetallicRoughnessTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getMetallicRoughnessTexCoord


sampleMetallicRoughnessTexture ​

sampleMetallicRoughnessTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleMetallicRoughnessTexture


specularTexture ​

specularTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularTexture


specularTextureSampler ​

specularTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularTextureSampler


specularTexCoordIndex ​

specularTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularTexCoordIndex


specularTexCoordMatrix ​

specularTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularTexCoordMatrix


hasSpecularTexture ​

hasSpecularTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasSpecularTexture


getSpecularTextureUniform ​

getSpecularTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSpecularTextureUniform


getSpecularTexCoord ​

getSpecularTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSpecularTexCoord


sampleSpecularTexture ​

sampleSpecularTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleSpecularTexture


specularColorTexture ​

specularColorTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularColorTexture


specularColorTextureSampler ​

specularColorTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularColorTextureSampler


specularColorTexCoordIndex ​

specularColorTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularColorTexCoordIndex


specularColorTexCoordMatrix ​

specularColorTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularColorTexCoordMatrix


hasSpecularColorTexture ​

hasSpecularColorTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasSpecularColorTexture


getSpecularColorTextureUniform ​

getSpecularColorTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSpecularColorTextureUniform


getSpecularColorTexCoord ​

getSpecularColorTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getSpecularColorTexCoord


sampleSpecularColorTexture ​

sampleSpecularColorTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleSpecularColorTexture


anisotropyDirectionTexture ​

anisotropyDirectionTexture: Texture2D<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropyDirectionTexture


anisotropyDirectionTextureSampler ​

anisotropyDirectionTextureSampler: TextureSampler<unknown>

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropyDirectionTextureSampler


anisotropyDirectionTexCoordIndex ​

anisotropyDirectionTexCoordIndex: number

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropyDirectionTexCoordIndex


anisotropyDirectionTexCoordMatrix ​

anisotropyDirectionTexCoordMatrix: Matrix4x4

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropyDirectionTexCoordMatrix


hasAnisotropyDirectionTexture ​

hasAnisotropyDirectionTexture: () => boolean

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).hasAnisotropyDirectionTexture


getAnisotropyDirectionTextureUniform ​

getAnisotropyDirectionTextureUniform: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getAnisotropyDirectionTextureUniform


getAnisotropyDirectionTexCoord ​

getAnisotropyDirectionTexCoord: (scope) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getAnisotropyDirectionTexCoord


sampleAnisotropyDirectionTexture ​

sampleAnisotropyDirectionTexture: (scope, texCoord?) => PBShaderExp

Parameters ​

scope ​

PBInsideFunctionScope

texCoord? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sampleAnisotropyDirectionTexture


albedoColor ​

albedoColor: Vector4

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).albedoColor


metallic ​

metallic: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).metallic


roughness ​

roughness: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).roughness


specularFactor ​

specularFactor: Vector4

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).specularFactor


reflectionMode ​

reflectionMode: PBRReflectionMode

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).reflectionMode


anisotropy ​

anisotropy: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropy


anisotropyDirection ​

anisotropyDirection: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropyDirection


anisotropyDirectionScaleBias ​

anisotropyDirectionScaleBias: Vector2

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).anisotropyDirectionScaleBias


normalScale ​

normalScale: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalScale


normalFlipY ​

normalFlipY: boolean

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalFlipY


normalMapMode ​

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

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).normalMapMode


doubleSidedLighting ​

doubleSidedLighting: boolean

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).doubleSidedLighting


ior ​

ior: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).ior


emissiveColor ​

emissiveColor: Vector3

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveColor


emissiveStrength ​

emissiveStrength: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveStrength


emissiveLuminance ​

emissiveLuminance: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveLuminance


emissiveExposureWeight ​

emissiveExposureWeight: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).emissiveExposureWeight


occlusionStrength ​

occlusionStrength: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).occlusionStrength


rectSpecularScale ​

rectSpecularScale: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).rectSpecularScale


transmission ​

transmission: boolean

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).transmission


transmissionFactor ​

transmissionFactor: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).transmissionFactor


thicknessFactor ​

thicknessFactor: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).thicknessFactor


attenuationColor ​

attenuationColor: Vector3

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).attenuationColor


attenuationDistance ​

attenuationDistance: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).attenuationDistance


sheen ​

sheen: boolean

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheen


sheenColorFactor ​

sheenColorFactor: Vector3

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenColorFactor


sheenRoughnessFactor ​

sheenRoughnessFactor: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).sheenRoughnessFactor


clearcoat ​

clearcoat: boolean

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoat


clearcoatIntensity ​

clearcoatIntensity: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatIntensity


clearcoatRoughnessFactor ​

clearcoatRoughnessFactor: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clearcoatRoughnessFactor


iridescence ​

iridescence: boolean

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescence


iridescenceFactor ​

iridescenceFactor: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceFactor


iridescenceIor ​

iridescenceIor: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceIor


iridescenceThicknessMin ​

iridescenceThicknessMin: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceThicknessMin


iridescenceThicknessMax ​

iridescenceThicknessMax: number

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).iridescenceThicknessMax

Accessors ​

disposed ​

Get Signature ​

get disposed(): boolean

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

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).objectColor

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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).dispatchEvent


dispose() ​

dispose(): void

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

Returns ​

void

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).dispose


clone() ​

clone(): GrassMaterial

Defined in: libs/scene/src/material/grassmaterial.ts:45

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

Returns ​

GrassMaterial

Implementation of ​

Clonable.clone

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).clone


isTransparentPass() ​

isTransparentPass(_pass): boolean

Defined in: libs/scene/src/material/grassmaterial.ts:54

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

Parameters ​

_pass ​

number

Material pass index.

Returns ​

boolean

True if the pass is transparent; otherwise false.

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).isTransparentPass


supportLighting() ​

supportLighting(): boolean

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

Whether this material's shading is affected by scene lights.

Override and return false for unlit materials.

Returns ​

boolean

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).supportLighting


supportInstancing() ​

supportInstancing(): boolean

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

Whether this material supports hardware instancing.

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

Returns ​

boolean

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).supportInstancing


applyUniformValues() ​

applyUniformValues(bindGroup, ctx, pass): void

Defined in: libs/scene/src/material/grassmaterial.ts:71

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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).applyUniformValues


vertexShader() ​

vertexShader(scope): void

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

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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).vertexShader


fragmentShader() ​

fragmentShader(scope): void

Defined in: libs/scene/src/material/grassmaterial.ts:107

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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).fragmentShader


apply() ​

apply(ctx): boolean

Defined in: libs/scene/src/material/grassmaterial.ts:141

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.

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).apply


updateRenderStates() ​

protected updateRenderStates(pass, stateSet, ctx): void

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

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

Overrides ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).updateRenderStates


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getNumPassesForRender


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).applyUniforms


clearCache() ​

clearCache(): void

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

Returns ​

void

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).drawPrimitive


onDispose() ​

protected onDispose(): void

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

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

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).onDispose


copyFrom() ​

copyFrom(other): void

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

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

Parameters ​

other ​

this

Source material.

Returns ​

void

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).copyFrom


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).createInstance


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).needFragmentColorInput


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getQueueType


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).useFeature


isMaterialTextureEnabled() ​

protected isMaterialTextureEnabled(_name): boolean

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

Parameters ​

_name ​

string

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).isMaterialTextureEnabled


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).outputFragmentColor


calculateAlbedoColor() ​

calculateAlbedoColor(scope, uv?): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

uv? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateAlbedoColor


calculateFoliageAlbedo() ​

calculateFoliageAlbedo(scope, albedoColor, texelCoord): PBShaderExp

Defined in: libs/scene/src/material/mixins/foliage.ts:9

Parameters ​

scope ​

PBInsideFunctionScope

albedoColor ​

PBShaderExp

texelCoord ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateFoliageAlbedo


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).PBRLight


calculateMetallic() ​

calculateMetallic(scope, albedo, normal): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

albedo ​

PBShaderExp

normal ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateMetallic


calculateRoughness() ​

calculateRoughness(scope, albedo, normal): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

albedo ​

PBShaderExp

normal ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateRoughness


calculateSpecularFactor() ​

calculateSpecularFactor(scope, albedo, normal): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

albedo ​

PBShaderExp

normal ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateSpecularFactor


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateCommonData


receivesWaterCaustics() ​

receivesWaterCaustics(): boolean

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

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).receivesWaterCaustics


needCalculateEnvLight() ​

needCalculateEnvLight(): boolean

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

Returns ​

boolean

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).needCalculateEnvLight


getUniformNormalScale() ​

getUniformNormalScale(scope): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateNormal


calculateNormalAndTBN() ​

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

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

Parameters ​

scope ​

PBInsideFunctionScope

worldPos ​

PBShaderExp

worldNormal? ​

PBShaderExp

worldTangent? ​

PBShaderExp

worldBinormal? ​

PBShaderExp

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateNormalAndTBN


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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getCommonData


getCommonDatasStruct() ​

getCommonDatasStruct(scope): ShaderTypeFunc

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

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

ShaderTypeFunc

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).getCommonDatasStruct


calculateEmissiveColor() ​

calculateEmissiveColor(scope): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).calculateEmissiveColor


getF0() ​

getF0(scope): PBShaderExp

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

Parameters ​

scope ​

PBInsideFunctionScope

Returns ​

PBShaderExp

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).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 ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).directRectLight


indirectLighting() ​

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

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

Parameters ​

scope ​

PBInsideFunctionScope

normal ​

PBShaderExp

viewVec ​

PBShaderExp

commonData ​

PBShaderExp

outColor ​

PBShaderExp

outRoughness? ​

PBShaderExp

outDiffuseColor? ​

PBShaderExp

Returns ​

void

Inherited from ​

applyMaterialMixins(MeshMaterial, mixinPBRMetallicRoughness, mixinFoliage).indirectLighting

Released under the MIT License.