Appearance
@tmrw-realityos/charm / WebGPUShader
Class: WebGPUShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:39
Constructors
Constructor
new WebGPUShader(
id,backend,vertexSource?,fragmentSource?,computeSource?):WebGPUShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:62
Parameters
id
string
backend
WebGPUBackend
vertexSource?
string
fragmentSource?
string
computeSource?
string
Returns
WebGPUShader
Properties
id
id:
string=""
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:55
index
index:
number=-1
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:56
quadBindGroup?
optionalquadBindGroup:GPUBindGroup
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:53
vertexInputs
vertexInputs:
Map<string,number>
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:58
vertexInputsMask
vertexInputsMask:
number=0
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:59
wgslReflects_
wgslReflects_:
WgslReflect[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:54
Accessors
pipeLineLayout
Get Signature
get pipeLineLayout():
GPUPipelineLayout
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:138
Returns
GPUPipelineLayout
Methods
bindResources()
bindResources(
groupIndex,data,renderPass?):GPUBindGroup
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:495
Parameters
groupIndex
number
data
BindDataEntry[]
renderPass?
GPURenderPassEncoder
Returns
GPUBindGroup
checkBindGroupCompatibility()
checkBindGroupCompatibility(
index,bindGroupLabel):boolean
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:203
If a bind group doesnt match a shader, use this method to compare The bindgroup must be created using the context.createSimpleBindGroup
Parameters
index
number
bindGroupLabel
string
Returns
boolean
createBindGroupLayoutDescriptors()
createBindGroupLayoutDescriptors():
GPUBindGroupLayoutDescriptor[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:229
Extracts groups from the shader code and creates a GPUBindGroupLayoutDescriptor that will be used by the pipeline
Returns
GPUBindGroupLayoutDescriptor[]
extractVertexInputs()
extractVertexInputs():
void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:354
Returns
void
getBindGroupInfo()
getBindGroupInfo(
index):string[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:152
Returns an array of strings showing every element in the bind group layout Helps debugs missmatch between bindgroup and pipeline layout
Parameters
index
number
Returns
string[]
getBindGroupLayoutDescriptors()
getBindGroupLayoutDescriptors():
GPUBindGroupLayoutDescriptor[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:146
Returns
GPUBindGroupLayoutDescriptor[]
getBindGroupLayouts()
getBindGroupLayouts():
GPUBindGroupLayout[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:142
Returns
GPUBindGroupLayout[]
getBindGroupSimple()
getBindGroupSimple(
index):string
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:176
Returns a string with very similar structure as in the context.createSimpleBindGroup. Useful for debugging. It can be used to create bindgroups but you can already do that with bindGroupLayoutDescriptors
Parameters
index
number
Returns
string
getComputeModule()
getComputeModule():
undefined|GPUShaderModule
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:394
Returns
undefined | GPUShaderModule
getComputePipeline()
getComputePipeline():
GPUComputePipeline
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:489
Returns
GPUComputePipeline
getFragmentModule()
getFragmentModule():
undefined|GPUShaderModule
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:390
Returns
undefined | GPUShaderModule
getPipeline()
getPipeline(
v):GPURenderPipeline
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:478
Parameters
v
Returns
GPURenderPipeline
getPipelineDescriptor()
getPipelineDescriptor(
desc):GPURenderPipelineDescriptor
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:424
Parameters
desc
IPipelineSimpleDescriptor = {}
Returns
GPURenderPipelineDescriptor
getQuadPipeline()
getQuadPipeline():
GPURenderPipeline
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:538
Returns
GPURenderPipeline
getResourceBindingByName()
getResourceBindingByName(
name):undefined|VariableInfo
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:398
Parameters
name
string
Returns
undefined | VariableInfo
getVertexModule()
getVertexModule():
undefined|GPUShaderModule
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:386
Returns
undefined | GPUShaderModule
reflectCode()
reflectCode(
code):WgslReflect
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:343
Parameters
code
string
Returns
WgslReflect