Skip to content

RedGPU API v4.4.0-Alpha


RedGPU API / RedGPU / Material / PBRMaterial

Class: PBRMaterial ​

Defined in: src/material/pbrMaterial/PBRMaterial.ts:186

Material class supporting Physically Based Rendering (PBR) and glTF 2.0 material extensions.

Integrates and manages base color, metallic/roughness, normal, occlusion, emissive textures, and various KHR_materials_* extension properties, configuring packed textures for the render pipeline.

Extends ​

Constructors ​


Constructor ​

new PBRMaterial(redGPUContext): PBRMaterial

Defined in: src/material/pbrMaterial/PBRMaterial.ts:693

Creates a PBRMaterial instance.

Parameters ​

ParameterTypeDescription
redGPUContextRedGPUContextRedGPUContext instance

Returns ​

PBRMaterial

Inherited from ​

AUVTransformBaseMaterial.constructor

Properties ​


alphaBlend ​

alphaBlend: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:206

Alpha blending mode value



baseColorFactor ​

baseColorFactor: number[]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:226

Base color factor [r, g, b, a]



baseColorTexture ​

baseColorTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:216

Base color texture



baseColorTexture_texCoord_index ​

baseColorTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:231

Base color texture UV channel index



baseColorTextureSampler ​

baseColorTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:221

Base color texture sampler



cutOff ​

cutOff: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:201

Alpha cutoff threshold value



doubleSided ​

doubleSided: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:656

Whether double-sided rendering is enabled



emissiveFactor ​

emissiveFactor: number[]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:601

Emissive color factor [r, g, b]



emissiveStrength ​

emissiveStrength: number[]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:606

Emissive strength multiplier (KHR_materials_emissive_strength)



emissiveTexture ​

emissiveTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:586

Emissive texture



emissiveTexture_texCoord_index ​

emissiveTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:596

Emissive texture UV channel index



emissiveTextureSampler ​

emissiveTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:591

Emissive texture sampler



isFoliage ​

isFoliage: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:661

Whether Two-Sided Foliage shading model is enabled



KHR_anisotropyRotation ​

KHR_anisotropyRotation: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:311

Anisotropy rotation angle (in radians)



KHR_anisotropyStrength ​

KHR_anisotropyStrength: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:306

Anisotropy strength



KHR_anisotropyTexture ​

KHR_anisotropyTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:316

Anisotropy texture



KHR_anisotropyTexture_texCoord_index ​

KHR_anisotropyTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:326

Anisotropy texture UV channel index



KHR_anisotropyTextureSampler ​

KHR_anisotropyTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:321

Anisotropy texture sampler



KHR_attenuationColor ​

KHR_attenuationColor: number[]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:416

Volume attenuation color [r, g, b]



KHR_attenuationDistance ​

KHR_attenuationDistance: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:411

Light attenuation distance within the volume



KHR_clearcoatFactor ​

KHR_clearcoatFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:246

Clearcoat intensity factor



KHR_clearcoatNormalScale ​

KHR_clearcoatNormalScale: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:241

Clearcoat normal map scale



KHR_clearcoatNormalTexture ​

KHR_clearcoatNormalTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:261

Clearcoat normal texture



KHR_clearcoatNormalTexture_texCoord_index ​

KHR_clearcoatNormalTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:291

Clearcoat normal texture UV channel index



KHR_clearcoatNormalTextureSampler ​

KHR_clearcoatNormalTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:276

Clearcoat normal texture sampler



KHR_clearcoatRoughnessFactor ​

KHR_clearcoatRoughnessFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:251

Clearcoat roughness factor



KHR_clearcoatRoughnessTexture ​

KHR_clearcoatRoughnessTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:266

Clearcoat roughness texture



KHR_clearcoatRoughnessTexture_texCoord_index ​

KHR_clearcoatRoughnessTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:296

Clearcoat roughness texture UV channel index



KHR_clearcoatRoughnessTextureSampler ​

KHR_clearcoatRoughnessTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:281

Clearcoat roughness texture sampler



KHR_clearcoatTexture ​

KHR_clearcoatTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:256

Clearcoat texture



KHR_clearcoatTexture_texCoord_index ​

KHR_clearcoatTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:286

Clearcoat texture UV channel index



KHR_clearcoatTextureSampler ​

KHR_clearcoatTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:271

Clearcoat texture sampler



KHR_diffuseTransmissionColorFactor ​

KHR_diffuseTransmissionColorFactor: [number, number, number]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:366

Diffuse transmission color factor [r, g, b]



KHR_diffuseTransmissionColorTexture ​

KHR_diffuseTransmissionColorTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:386

Diffuse transmission color texture



KHR_diffuseTransmissionColorTexture_texCoord_index ​

KHR_diffuseTransmissionColorTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:396

Diffuse transmission color texture UV channel index



KHR_diffuseTransmissionColorTextureSampler ​

KHR_diffuseTransmissionColorTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:391

Diffuse transmission color texture sampler



KHR_diffuseTransmissionFactor ​

KHR_diffuseTransmissionFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:361

Diffuse transmission factor



KHR_diffuseTransmissionTexture ​

KHR_diffuseTransmissionTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:371

Diffuse transmission texture



KHR_diffuseTransmissionTexture_texCoord_index ​

KHR_diffuseTransmissionTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:381

Diffuse transmission texture UV channel index



KHR_diffuseTransmissionTextureSampler ​

KHR_diffuseTransmissionTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:376

Diffuse transmission texture sampler



KHR_dispersion ​

KHR_dispersion: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:666

KHR_materials_dispersion dispersion strength



KHR_iridescenceFactor ​

KHR_iridescenceFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:511

Iridescence intensity factor



KHR_iridescenceIor ​

KHR_iridescenceIor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:516

Iridescence thin-film index of refraction (IOR)



KHR_iridescenceTexture ​

KHR_iridescenceTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:531

Iridescence intensity texture



KHR_iridescenceTextureSampler ​

KHR_iridescenceTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:536

Iridescence intensity texture sampler



KHR_iridescenceThicknessMaximum ​

KHR_iridescenceThicknessMaximum: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:526

Iridescence thin-film maximum thickness (nm)



KHR_iridescenceThicknessMinimum ​

KHR_iridescenceThicknessMinimum: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:521

Iridescence thin-film minimum thickness (nm)



KHR_iridescenceThicknessTexture ​

KHR_iridescenceThicknessTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:541

Iridescence thickness texture



KHR_iridescenceThicknessTextureSampler ​

KHR_iridescenceThicknessTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:546

Iridescence thickness texture sampler



KHR_materials_ior ​

KHR_materials_ior: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:556

KHR_materials_ior index of refraction (IOR) value (default: 1.5)



KHR_sheenColorFactor ​

KHR_sheenColorFactor: [number, number, number]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:441

Sheen color factor [r, g, b]



KHR_sheenColorTexture ​

KHR_sheenColorTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:451

Sheen color texture



KHR_sheenColorTextureSampler ​

KHR_sheenColorTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:456

Sheen color texture sampler



KHR_sheenRoughnessFactor ​

KHR_sheenRoughnessFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:446

Sheen roughness factor



KHR_sheenRoughnessTexture ​

KHR_sheenRoughnessTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:461

Sheen roughness texture



KHR_sheenRoughnessTextureSampler ​

KHR_sheenRoughnessTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:466

Sheen roughness texture sampler



KHR_specularColorFactor ​

KHR_specularColorFactor: [number, number, number]

Defined in: src/material/pbrMaterial/PBRMaterial.ts:481

Specular color factor [r, g, b]



KHR_specularColorTexture ​

KHR_specularColorTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:496

Specular color texture



KHR_specularColorTextureSampler ​

KHR_specularColorTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:501

Specular color texture sampler



KHR_specularFactor ​

KHR_specularFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:476

Specular reflection strength factor



KHR_specularTexture ​

KHR_specularTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:486

Specular texture



KHR_specularTextureSampler ​

KHR_specularTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:491

Specular texture sampler



KHR_thicknessFactor ​

KHR_thicknessFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:406

Volume thickness factor



KHR_thicknessTexture ​

KHR_thicknessTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:421

Volume thickness texture



KHR_thicknessTexture_texCoord_index ​

KHR_thicknessTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:431

Volume thickness texture UV channel index



KHR_thicknessTextureSampler ​

KHR_thicknessTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:426

Volume thickness texture sampler



KHR_transmissionFactor ​

KHR_transmissionFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:336

Optical transmission factor



KHR_transmissionTexture ​

KHR_transmissionTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:341

Transmission texture



KHR_transmissionTexture_texCoord_index ​

KHR_transmissionTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:351

Transmission texture UV channel index



KHR_transmissionTextureSampler ​

KHR_transmissionTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:346

Transmission texture sampler



metallicFactor ​

metallicFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:646

Metallic factor (0.0 to 1.0)



metallicRoughnessTexture ​

metallicRoughnessTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:631

Metallic-Roughness texture



metallicRoughnessTexture_texCoord_index ​

metallicRoughnessTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:641

Metallic-Roughness texture UV channel index



metallicRoughnessTextureSampler ​

metallicRoughnessTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:636

Metallic-Roughness texture sampler



normalScale ​

normalScale: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:561

Normal map scale



normalTexture ​

normalTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:571

Normal map texture



normalTexture_texCoord_index ​

normalTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:581

Normal map texture UV channel index



normalTextureSampler ​

normalTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:576

Normal map texture sampler



occlusionStrength ​

occlusionStrength: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:626

Occlusion application strength



occlusionTexture ​

occlusionTexture: BitmapTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:611

Occlusion (AO) texture



occlusionTexture_texCoord_index ​

occlusionTexture_texCoord_index: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:621

Occlusion texture UV channel index



occlusionTextureSampler ​

occlusionTextureSampler: Sampler

Defined in: src/material/pbrMaterial/PBRMaterial.ts:616

Occlusion texture sampler



roughnessFactor ​

roughnessFactor: number

Defined in: src/material/pbrMaterial/PBRMaterial.ts:651

Roughness factor (0.0 to 1.0)



useCutOff ​

useCutOff: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:196

Whether to use alpha cutoff (MASK)



useKHR_materials_anisotropy ​

useKHR_materials_anisotropy: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:301

Whether to use the KHR_materials_anisotropy extension



useKHR_materials_clearcoat ​

useKHR_materials_clearcoat: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:236

Whether to use the KHR_materials_clearcoat extension



useKHR_materials_diffuse_transmission ​

useKHR_materials_diffuse_transmission: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:356

Whether to use the KHR_materials_diffuse_transmission extension



useKHR_materials_iridescence ​

useKHR_materials_iridescence: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:506

Whether to use the KHR_materials_iridescence extension



useKHR_materials_sheen ​

useKHR_materials_sheen: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:436

Whether to use the KHR_materials_sheen extension



useKHR_materials_specular ​

useKHR_materials_specular: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:471

Whether to use the KHR_materials_specular extension



useKHR_materials_transmission ​

useKHR_materials_transmission: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:331

Whether to use the KHR_materials_transmission extension



useKHR_materials_unlit ​

useKHR_materials_unlit: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:551

Whether to use the KHR_materials_unlit extension



useKHR_materials_volume ​

useKHR_materials_volume: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:401

Whether to use the KHR_materials_volume extension



useNormalTexture ​

useNormalTexture: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:566

Whether to use normal texture



useVertexColor ​

useVertexColor: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:191

Whether to use vertex color

Accessors ​


packedKHR_clearcoatTexture_transmission ​

Get Signature ​

readonly get packedKHR_clearcoatTexture_transmission(): PackedTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:722

Returns the packed texture combining clearcoat and transmission/thickness channels.

Returns ​

PackedTexture

PackedTexture instance



packedKHR_diffuse_transmission ​

Get Signature ​

readonly get packedKHR_diffuse_transmission(): PackedTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:770

Returns the packed texture combining diffuse transmission color and factor channels.

Returns ​

PackedTexture

PackedTexture instance



packedKHR_iridescence ​

Get Signature ​

readonly get packedKHR_iridescence(): PackedTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:734

Returns the packed texture combining iridescence and thickness channels.

Returns ​

PackedTexture

PackedTexture instance



packedKHR_sheen ​

Get Signature ​

readonly get packedKHR_sheen(): PackedTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:758

Returns the packed texture combining sheen color and roughness channels.

Returns ​

PackedTexture

PackedTexture instance



packedORMTexture ​

Get Signature ​

readonly get packedORMTexture(): PackedTexture

Defined in: src/material/pbrMaterial/PBRMaterial.ts:746

Returns the ORM packed texture combining occlusion (R), roughness (G), and metallic (B).

Returns ​

PackedTexture

PackedTexture instance


Methods ​


setupPackedKHR_clearcoatTexture_transmission() ​

setupPackedKHR_clearcoatTexture_transmission(): Promise<void>

Defined in: src/material/pbrMaterial/PBRMaterial.ts:810

Packs clearcoat, clearcoat roughness, transmission, and volume thickness textures into a single 4-channel texture.

Returns ​

Promise<void>



setupPackedKHR_diffuse_transmission() ​

setupPackedKHR_diffuse_transmission(): Promise<void>

Defined in: src/material/pbrMaterial/PBRMaterial.ts:852

Merges diffuse transmission color and diffuse transmission factor textures into a single packed texture.

Returns ​

Promise<void>



setupPackedKHR_iridescence() ​

setupPackedKHR_iridescence(): Promise<void>

Defined in: src/material/pbrMaterial/PBRMaterial.ts:916

Merges iridescence and iridescence thickness textures into a single packed texture.

Returns ​

Promise<void>



setupPackedKHR_sheen() ​

setupPackedKHR_sheen(): Promise<void>

Defined in: src/material/pbrMaterial/PBRMaterial.ts:884

Merges sheen color and sheen roughness textures into a single packed texture.

Returns ​

Promise<void>



setupPackORMTexture() ​

setupPackORMTexture(): Promise<void>

Defined in: src/material/pbrMaterial/PBRMaterial.ts:778

Merges occlusion and metallic-roughness textures into a single ORM packed texture.

Returns ​

Promise<void>



Inherited Properties ​

View inherited properties (Click to expand)

__packingList ​

__packingList: any[]

Defined in: src/material/core/ABitmapBaseMaterial.ts:24

List of texture packing callback functions executed when updating fragment state

Inherited from ​

AUVTransformBaseMaterial.__packingList



dirtyPipeline ​

dirtyPipeline: boolean = false

Defined in: src/material/core/ABaseMaterial.ts:74

Flag indicating whether the pipeline needs updating

Inherited from ​

AUVTransformBaseMaterial.dirtyPipeline



dirtyTextureTransform ​

dirtyTextureTransform: boolean = false

Defined in: src/material/core/AUVTransformBaseMaterial.ts:32

Flag indicating whether texture UV transform information has changed

Inherited from ​

AUVTransformBaseMaterial.dirtyTextureTransform



gpuRenderInfo ​

gpuRenderInfo: FragmentGPURenderInfo

Defined in: src/material/core/ABaseMaterial.ts:69

Fragment GPU render pipeline information object

Inherited from ​

AUVTransformBaseMaterial.gpuRenderInfo



isInstanceofMaterial ​

isInstanceofMaterial: boolean

Defined in: src/material/core/ABaseMaterial.ts:42

Flag indicating whether it is a material instance

Inherited from ​

AUVTransformBaseMaterial.isInstanceofMaterial



opacity ​

opacity: number

Defined in: src/material/core/ABaseMaterial.ts:27

Opacity of the material (0.0 to 1.0)

Inherited from ​

AUVTransformBaseMaterial.opacity



tint ​

tint: ColorRGBA

Defined in: src/material/core/ABaseMaterial.ts:32

Tint color of the material (ColorRGBA)

Inherited from ​

AUVTransformBaseMaterial.tint



transparent ​

transparent: boolean = false

Defined in: src/material/core/ABaseMaterial.ts:79

Whether transparent rendering is enabled for the material

Inherited from ​

AUVTransformBaseMaterial.transparent



use2PathRender ​

use2PathRender: boolean

Defined in: src/material/pbrMaterial/PBRMaterial.ts:211

Whether to use 2-pass transparent rendering

Inherited from ​

AUVTransformBaseMaterial.use2PathRender



useTint ​

useTint: boolean

Defined in: src/material/core/ABaseMaterial.ts:37

Whether to apply tint color

Inherited from ​

AUVTransformBaseMaterial.useTint



antialiasingManager ​

Get Signature ​

readonly get antialiasingManager(): AntialiasingManager

Defined in: src/base/RedGPUObject.ts:80

Returns the AntialiasingManager instance managing anti-aliasing settings.

Returns ​

AntialiasingManager

AntialiasingManager instance

Inherited from ​

AUVTransformBaseMaterial.antialiasingManager



blendAlphaState ​

Get Signature ​

readonly get blendAlphaState(): BlendState

Defined in: src/material/core/ABaseMaterial.ts:277

Returns the alpha blend state object.

Returns ​

BlendState

Alpha BlendState instance

Inherited from ​

AUVTransformBaseMaterial.blendAlphaState



blendColorState ​

Get Signature ​

readonly get blendColorState(): BlendState

Defined in: src/material/core/ABaseMaterial.ts:265

Returns the color blend state object.

Returns ​

BlendState

Color BlendState instance

Inherited from ​

AUVTransformBaseMaterial.blendColorState



cacheKey ​

Get Signature ​

get cacheKey(): string

Defined in: src/resources/core/ResourceBase.ts:61

Gets or sets the cache key.

Returns ​

string

Cache key string

Set Signature ​

set cacheKey(value): void

Defined in: src/resources/core/ResourceBase.ts:65

Parameters ​
ParameterType
valuestring
Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.cacheKey



commandEncoderManager ​

Get Signature ​

readonly get commandEncoderManager(): CommandEncoderManager

Defined in: src/base/RedGPUObject.ts:92

Returns the CommandEncoderManager instance managing WebGPU command encoding.

Returns ​

CommandEncoderManager

CommandEncoderManager instance

Inherited from ​

AUVTransformBaseMaterial.commandEncoderManager



FRAGMENT_BIND_GROUP_DESCRIPTOR_NAME ​

Get Signature ​

readonly get FRAGMENT_BIND_GROUP_DESCRIPTOR_NAME(): string

Defined in: src/material/core/ABaseMaterial.ts:217

Returns the fragment bind group descriptor name.

Returns ​

string

Bind group descriptor name

Inherited from ​

AUVTransformBaseMaterial.FRAGMENT_BIND_GROUP_DESCRIPTOR_NAME



FRAGMENT_SHADER_MODULE_NAME ​

Get Signature ​

readonly get FRAGMENT_SHADER_MODULE_NAME(): string

Defined in: src/material/core/ABaseMaterial.ts:205

Returns the fragment shader module name.

Returns ​

string

Fragment shader module name

Inherited from ​

AUVTransformBaseMaterial.FRAGMENT_SHADER_MODULE_NAME



globalFragmentSlotIndex ​

Get Signature ​

readonly get globalFragmentSlotIndex(): number

Defined in: src/material/core/ABaseMaterial.ts:305

Returns the allocated slot index within the global fragment SSBO.

Returns ​

number

Allocated slot index (-1 if unallocated)

Inherited from ​

AUVTransformBaseMaterial.globalFragmentSlotIndex



gpuDevice ​

Get Signature ​

readonly get gpuDevice(): GPUDevice

Defined in: src/resources/core/ResourceBase.ts:89

Returns the associated GPUDevice.

Returns ​

GPUDevice

GPUDevice instance

Inherited from ​

AUVTransformBaseMaterial.gpuDevice



instanceId ​

Get Signature ​

readonly get instanceId(): number

Defined in: src/base/BaseObject.ts:36

Returns the unique sequential instance ID assigned per class.

Returns ​

number

Per-class unique instance ID

Inherited from ​

AUVTransformBaseMaterial.instanceId



MODULE_NAME ​

Get Signature ​

readonly get MODULE_NAME(): string

Defined in: src/material/core/ABaseMaterial.ts:193

Returns the material module name.

Returns ​

string

Module name

Inherited from ​

AUVTransformBaseMaterial.MODULE_NAME



name ​

Get Signature ​

get name(): string

Defined in: src/base/BaseObject.ts:63

Gets or sets the object name. Returns a default name (ClassName Instance N) if not explicitly set.

Returns ​

string

Object name string

Set Signature ​

set name(value): void

Defined in: src/base/BaseObject.ts:70

Parameters ​
ParameterType
valuestring
Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.name



redGPUContext ​

Get Signature ​

readonly get redGPUContext(): RedGPUContext

Defined in: src/base/RedGPUObject.ts:44

Returns the bound RedGPUContext instance.

Returns ​

RedGPUContext

RedGPUContext instance

Inherited from ​

AUVTransformBaseMaterial.redGPUContext



resourceManager ​

Get Signature ​

readonly get resourceManager(): ResourceManager

Defined in: src/base/RedGPUObject.ts:68

Returns the ResourceManager instance managing global GPU resources.

Returns ​

ResourceManager

ResourceManager instance

Inherited from ​

AUVTransformBaseMaterial.resourceManager



resourceManagerKey ​

Get Signature ​

readonly get resourceManagerKey(): string

Defined in: src/resources/core/ResourceBase.ts:77

Returns the resource manager key.

Returns ​

string

Resource manager key string

Inherited from ​

AUVTransformBaseMaterial.resourceManagerKey



revision ​

Get Signature ​

readonly get revision(): number

Defined in: src/resources/core/ResourceBase.ts:49

Returns the revision (update count) of the resource.

Returns ​

number

Resource revision number

Inherited from ​

AUVTransformBaseMaterial.revision



SHADER_INFO ​

Get Signature ​

readonly get SHADER_INFO(): any

Defined in: src/material/core/ABaseMaterial.ts:241

Returns the complete parsed WGSL shader information.

Returns ​

any

Parsed shader information object

Inherited from ​

AUVTransformBaseMaterial.SHADER_INFO



STORAGE_STRUCT ​

Get Signature ​

readonly get STORAGE_STRUCT(): any

Defined in: src/material/core/ABaseMaterial.ts:229

Returns the parsed shader storage structure information.

Returns ​

any

Storage structure information

Inherited from ​

AUVTransformBaseMaterial.STORAGE_STRUCT



textureOffset ​

Get Signature ​

get textureOffset(): [number, number]

Defined in: src/material/core/AUVTransformBaseMaterial.ts:71

Returns or sets the texture UV offset [u, v].

Returns ​

[number, number]

UV offset tuple [u, v] (default: [0, 0])

Set Signature ​

set textureOffset(value): void

Defined in: src/material/core/AUVTransformBaseMaterial.ts:75

Parameters ​
ParameterType
value[number, number]
Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.textureOffset



textureScale ​

Get Signature ​

get textureScale(): [number, number]

Defined in: src/material/core/AUVTransformBaseMaterial.ts:88

Returns or sets the texture UV tiling scale [u, v].

Returns ​

[number, number]

UV scale tuple [u, v] (default: [1, 1])

Set Signature ​

set textureScale(value): void

Defined in: src/material/core/AUVTransformBaseMaterial.ts:92

Parameters ​
ParameterType
value[number, number]
Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.textureScale



tintBlendMode ​

Get Signature ​

get tintBlendMode(): string

Defined in: src/material/core/ABaseMaterial.ts:160

Returns the key name of the currently set tint blend mode or sets a new mode.

Throws ​

Throws an Error if an invalid tint blend mode value or key is specified

Returns ​

string

Tint blend mode key string (e.g., 'MULTIPLY')

Set Signature ​

set tintBlendMode(value): void

Defined in: src/material/core/ABaseMaterial.ts:168

Parameters ​
ParameterType
value"COLOR" | "NORMAL" | "SUBTRACT" | "MULTIPLY" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "DARKEN" | "OVERLAY" | "COLOR_DODGE" | "COLOR_BURN" | "HARD_LIGHT" | "SOFT_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "DIVIDE" | "VIVID_LIGHT" | "LINEAR_BURN" | "PIN_LIGHT" | "SATURATION" | "HUE" | "LUMINOSITY" | "NEGATION" | TINT_BLEND_MODE
Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.tintBlendMode



UNIFORM_STRUCT ​

Get Signature ​

readonly get UNIFORM_STRUCT(): any

Defined in: src/material/core/ABaseMaterial.ts:253

Returns the parsed shader uniform structure information.

Returns ​

any

Uniform structure information

Inherited from ​

AUVTransformBaseMaterial.UNIFORM_STRUCT



uuid ​

Get Signature ​

readonly get uuid(): string

Defined in: src/base/BaseObject.ts:48

Returns the universally unique identifier (UUID) of the object.

Returns ​

string

UUID string of the object

Inherited from ​

AUVTransformBaseMaterial.uuid



writeMaskState ​

Get Signature ​

get writeMaskState(): number

Defined in: src/material/core/ABaseMaterial.ts:289

Returns or sets the color write mask (GPUColorWrite) state.

Returns ​

number

GPUFlagsConstant value

Set Signature ​

set writeMaskState(value): void

Defined in: src/material/core/ABaseMaterial.ts:293

Parameters ​
ParameterType
valuenumber
Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.writeMaskState


Inherited Methods ​

View inherited methods (Click to expand)

__addDirtyPipelineListener() ​

__addDirtyPipelineListener(listener): void

Defined in: src/resources/core/ResourceBase.ts:102

Adds a pipeline dirty listener to be called when the resource changes.

Parameters ​

ParameterTypeDescription
listener() => voidListener function to register

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.__addDirtyPipelineListener



__removeDirtyPipelineListener() ​

__removeDirtyPipelineListener(listener): void

Defined in: src/resources/core/ResourceBase.ts:115

Removes a registered pipeline dirty listener.

Parameters ​

ParameterTypeDescription
listener() => voidListener function to remove

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.__removeDirtyPipelineListener



_updateBaseProperty() ​

_updateBaseProperty(): void

Defined in: src/material/core/ABaseMaterial.ts:461

Synchronizes basic material properties (uniforms, colors, tint, etc.) to the uniform buffer and global SSBO.

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial._updateBaseProperty



_updateFragmentState() ​

_updateFragmentState(): void

Defined in: src/material/core/ABaseMaterial.ts:357

Checks shader variants and updates the fragment bind group and render state.

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial._updateFragmentState



destroy() ​

destroy(): void

Defined in: src/material/core/ABaseMaterial.ts:510

Destroys the material instance and releases allocated uniform buffers and global fragment slots.

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.destroy



getFragmentRenderState() ​

getFragmentRenderState(entryPoint?): GPUFragmentState

Defined in: src/material/core/ABaseMaterial.ts:430

Creates and returns a GPU fragment render state (GPUFragmentState) object.

Parameters ​

ParameterTypeDefault valueDescription
entryPoint?string'main'Fragment shader entry point function name (default: 'main')

Returns ​

GPUFragmentState

Configured GPUFragmentState object

Inherited from ​

AUVTransformBaseMaterial.getFragmentRenderState



getGPUResourceSampler() ​

getGPUResourceSampler(sampler): GPUSampler

Defined in: src/material/core/ABaseMaterial.ts:502

Returns the GPUSampler from a Sampler instance, or the default GPUSampler if not provided.

Parameters ​

ParameterTypeDescription
samplerSamplerSampler instance

Returns ​

GPUSampler

GPUSampler instance

Inherited from ​

AUVTransformBaseMaterial.getGPUResourceSampler



initGPURenderInfos() ​

initGPURenderInfos(): void

Defined in: src/material/core/ABaseMaterial.ts:313

Initializes GPU fragment render pipeline information and uniform buffers.

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.initGPURenderInfos



notifyUpdate() ​

notifyUpdate(resetList?): void

Defined in: src/resources/core/ResourceBase.ts:131

Notifies registered listeners that the resource has been updated.

Parameters ​

ParameterTypeDefault valueDescription
resetList?booleanfalseWhether to reset the listener list after notification (default: false)

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.notifyUpdate



updateSampler() ​

updateSampler(prevSampler, newSampler): void

Defined in: src/material/core/ABitmapBaseMaterial.ts:80

Updates pipeline dirty listeners upon sampler change and refreshes the fragment state.

Parameters ​

ParameterTypeDescription
prevSamplerSamplerPreviously bound Sampler instance
newSamplerSamplerNew Sampler instance to bind

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.updateSampler



updateTexture() ​

updateTexture(prevTexture, texture): void

Defined in: src/material/core/ABitmapBaseMaterial.ts:63

Updates pipeline dirty listeners upon texture change and refreshes the fragment state.

Parameters ​

ParameterTypeDescription
prevTextureanyPreviously bound texture object
textureanyNew texture object to bind

Returns ​

void

Inherited from ​

AUVTransformBaseMaterial.updateTexture