Appearance
@tmrw-realityos/charm / WebGPUShader
Class: WebGPUShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:38
Constructors
Constructor
new WebGPUShader(
id,backend,vertexSource?,fragmentSource?,computeSource?):WebGPUShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:61
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:54
index
index:
number=-1
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:55
quadBindGroup?
optionalquadBindGroup:GPUBindGroup
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:52
vertexInputs
vertexInputs:
Map<string,number>
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:57
vertexInputsMask
vertexInputsMask:
number=0
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:58
wgslReflects_
wgslReflects_:
WgslReflect[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:53
Accessors
pipeLineLayout
Get Signature
get pipeLineLayout():
GPUPipelineLayout
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:135
Returns
GPUPipelineLayout
Methods
bindResources()
bindResources(
groupIndex,data,renderPass?):GPUBindGroup
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:492
Parameters
groupIndex
number
data
BindDataEntry[]
renderPass?
GPURenderPassEncoder
Returns
GPUBindGroup
checkBindGroupCompatibility()
checkBindGroupCompatibility(
index,bindGroupLabel):boolean
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:200
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:226
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:351
Returns
void
getBindGroupInfo()
getBindGroupInfo(
index):string[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:149
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:143
Returns
GPUBindGroupLayoutDescriptor[]
getBindGroupLayouts()
getBindGroupLayouts():
GPUBindGroupLayout[]
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:139
Returns
GPUBindGroupLayout[]
getBindGroupSimple()
getBindGroupSimple(
index):string
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:173
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:391
Returns
undefined | GPUShaderModule
getComputePipeline()
getComputePipeline():
GPUComputePipeline
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:486
Returns
GPUComputePipeline
getFragmentModule()
getFragmentModule():
undefined|GPUShaderModule
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:387
Returns
undefined | GPUShaderModule
getPipeline()
getPipeline(
v):GPURenderPipeline
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:475
Parameters
v
Returns
GPURenderPipeline
getPipelineDescriptor()
getPipelineDescriptor(
desc):GPURenderPipelineDescriptor
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:421
Parameters
desc
IPipelineSimpleDescriptor = {}
Returns
GPURenderPipelineDescriptor
getQuadPipeline()
getQuadPipeline():
GPURenderPipeline
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:535
Returns
GPURenderPipeline
getResourceBindingByName()
getResourceBindingByName(
name):undefined|VariableInfo
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:395
Parameters
name
string
Returns
undefined | VariableInfo
getVertexModule()
getVertexModule():
undefined|GPUShaderModule
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:383
Returns
undefined | GPUShaderModule
reflectCode()
reflectCode(
code):WgslReflect
Defined in: packages/charm/src/graphics/WebGPU/WebGPUShader.ts:340
Parameters
code
string
Returns
WgslReflect