@tmrw-realityos/charm / Exports / WebGPUShader
Class: WebGPUShader
Table of contents
Constructors
Properties
Accessors
Methods
- bindResources
- createBindGroupLayoutDescriptors
- getBindGroupLayoutDescriptors
- getBindGroupLayouts
- getFragmentModule
- getPipelineDescriptor
- getQuadPipeline
- getResourceBindingByName
- getVertexModule
Constructors
constructor
• new WebGPUShader(id, device, vertexSource, fragmentSource): WebGPUShader
Parameters
| Name | Type |
|---|---|
id | string |
device | GPUDevice |
vertexSource | string |
fragmentSource | string |
Returns
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:55
Properties
fragmentDesc
• fragmentDesc: GPUShaderModuleDescriptor
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:52
id
• id: string = ""
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:49
index
• index: number = -1
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:50
quadBindGroup
• Optional quadBindGroup: GPUBindGroup
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:47
vertexDesc
• vertexDesc: GPUShaderModuleDescriptor
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:51
wgslReflects_
• wgslReflects_: WgslReflect[]
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:48
Accessors
pipeLineLayout
• get pipeLineLayout(): GPUPipelineLayout
Returns
GPUPipelineLayout
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:94
Methods
bindResources
▸ bindResources(groupIndex, data, renderPass?): GPUBindGroup
Parameters
| Name | Type |
|---|---|
groupIndex | number |
data | BindDataEntry[] |
renderPass? | GPURenderPassEncoder |
Returns
GPUBindGroup
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:286
createBindGroupLayoutDescriptors
▸ createBindGroupLayoutDescriptors(): GPUBindGroupLayoutDescriptor[]
Extracts groups from the shader code and creates a GPUBindGroupLayoutDescriptor that will be used by the pipeline
Returns
GPUBindGroupLayoutDescriptor[]
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:109
getBindGroupLayoutDescriptors
▸ getBindGroupLayoutDescriptors(): GPUBindGroupLayoutDescriptor[]
Returns
GPUBindGroupLayoutDescriptor[]
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:102
getBindGroupLayouts
▸ getBindGroupLayouts(): GPUBindGroupLayout[]
Returns
GPUBindGroupLayout[]
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:98
getFragmentModule
▸ getFragmentModule(): GPUShaderModule
Returns
GPUShaderModule
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:218
getPipelineDescriptor
▸ getPipelineDescriptor(desc?): GPURenderPipelineDescriptor
Parameters
| Name | Type |
|---|---|
desc | IPipelineSimpleDescriptor |
Returns
GPURenderPipelineDescriptor
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:248
getQuadPipeline
▸ getQuadPipeline(): GPURenderPipeline
Returns
GPURenderPipeline
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:329
getResourceBindingByName
▸ getResourceBindingByName(name): undefined | VariableInfo
Parameters
| Name | Type |
|---|---|
name | string |
Returns
undefined | VariableInfo
Defined in
packages/charm/src/graphics/WebGPU/WebGPUShader.ts:222
getVertexModule
▸ getVertexModule(): GPUShaderModule
Returns
GPUShaderModule