Class: ShaderPassBase
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:23
Base class for a single shader pass. Holds the pass's uniforms, GPU buffers, shader reflection data, precompile defines/constants and bind groups, and exposes helpers to set and read uniform values and to track shader/value changes.
Extended by
Constructors
Constructor
new ShaderPassBase():
ShaderPassBase
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:93
Returns
ShaderPassBase
Properties
instanceID
readonlyinstanceID:string
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:27
Shader Unique instance id
shaderVariant
shaderVariant:
string
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:32
Shader variant value
vsEntryPoint
vsEntryPoint:
string
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:37
Vertex stage entry point name
fsEntryPoint
fsEntryPoint:
string
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:42
Fragment stage entry point name
_boundCtx
_boundCtx:
Context3D=null
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:48
The Context3D this pass is bound to. Set on first GPU use via bindCtx. Plan B: a ShaderPass may only be used by one Engine3D.
bindGroups
bindGroups:
GPUBindGroup[] =[]
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:53
BindGroups — single array owned by the bound Context3D.
shaderReflection
shaderReflection:
ShaderReflection
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:58
Shader reflection info
defineValue
defineValue:
object
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:63
The defined syntax value of the Shader when it is precompiled
Index Signature
[name: string]: any
constValues
constValues:
object
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:68
The constant value of the Shader when it is precompiled
Index Signature
[name: string]: any
uniforms
uniforms:
object
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:73
Uniforms data collection
Index Signature
[name: string]: UniformNode
materialDataUniformBuffer
materialDataUniformBuffer:
MaterialDataUniformGPUBuffer
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:78
Uniform data for materials
Methods
noticeShaderChange()
noticeShaderChange():
void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:105
notice shader change
Returns
void
noticeValueChange()
noticeValueChange():
void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:112
notice shader state change
Returns
void
setStorageBuffer()
setStorageBuffer(
name,buffer):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:121
set storage gpu buffer
Parameters
name
string
buffer name
buffer
storage useAge gpu buffer
Returns
void
getStorageBuffer()
getStorageBuffer(
name):StorageGPUBuffer
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:141
Get a previously set storage gpu buffer by name.
Parameters
name
string
buffer name
Returns
setStructStorageBuffer()
setStructStorageBuffer<
T>(name,buffer):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:150
set struct storage gpu buffer
Type Parameters
T
T extends Struct
Parameters
name
string
buffer name
buffer
struct storage useAge gpu buffer
Returns
void
setUniformBuffer()
setUniformBuffer(
name,buffer):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:164
set uniform gpu buffer min size 256
Parameters
name
string
buffer
Returns
void
getUniformBuffer()
getUniformBuffer(
name):UniformGPUBuffer
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:177
Get a previously set uniform gpu buffer by name.
Parameters
name
string
buffer name
Returns
setDefine()
setDefine(
defineName,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:186
set define value
Parameters
defineName
string
value
any
Returns
void
hasDefine()
hasDefine(
defineName):boolean
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:200
Whether there is a define key
Parameters
defineName
string
Returns
boolean
deleteDefine()
deleteDefine(
defineName):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:208
delete define value
Parameters
defineName
string
Returns
void
setUniformFloat()
setUniformFloat(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:218
set uniform float value
Parameters
name
string
value
number
Returns
void
setUniformInt32()
setUniformInt32(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:232
set uniform int32 value
Parameters
name
string
value
number
Returns
void
setUniformVector2()
setUniformVector2(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:246
set uniform vector2 value
Parameters
name
string
value
Returns
void
setUniformVector3()
setUniformVector3(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:260
set uniform vector3 value
Parameters
name
string
value
Returns
void
setUniformVector4()
setUniformVector4(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:273
set uniform vector4 value
Parameters
name
string
value
Vector4
Returns
void
setUniformColor()
setUniformColor(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:286
set uniform color value
Parameters
name
string
value
Returns
void
setUniformArray()
setUniformArray(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:299
set uniform array value
Parameters
name
string
value
Float32Array
Returns
void
setUniform()
setUniform(
name,value):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:312
Set a uniform value of an arbitrary supported type.
Parameters
name
string
uniform name
value
any
uniform value
Returns
void
getUniform()
getUniform(
name):any
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:324
Get a uniform value by name.
Parameters
name
string
uniform name
Returns
any
getUniformFloat()
getUniformFloat(
name):number
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:332
Get a uniform float value by name.
Parameters
name
string
uniform name
Returns
number
getUniformVector2()
getUniformVector2(
name):Vector2
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:340
Get a uniform vector2 value by name.
Parameters
name
string
uniform name
Returns
getUniformVector3()
getUniformVector3(
name):Vector3
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:348
Get a uniform vector3 value by name.
Parameters
name
string
uniform name
Returns
getUniformVector4()
getUniformVector4(
name):Vector4
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:356
Get a uniform vector4 value by name.
Parameters
name
string
uniform name
Returns
Vector4
getUniformColor()
getUniformColor(
name):Color
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:364
Get a uniform color value by name.
Parameters
name
string
uniform name
Returns
getBuffer()
getBuffer(
name):GPUBufferBase
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:372
Get a registered gpu buffer by name.
Parameters
name
string
buffer name
Returns
GPUBufferBase
applyUniform()
applyUniform():
void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:387
Apply pending material uniform data to the GPU when values have changed.
Returns
void
destroy()
destroy(
force?):void
Defined in: src/gfx/graphics/webGpu/shader/ShaderPassBase.ts:396
destroy
Parameters
force?
boolean
Returns
void

