Skip to content

@tmrw-realityos/charm / Exports / WebGPUShader

Class: WebGPUShader

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new WebGPUShader(id, device, vertexSource, fragmentSource): WebGPUShader

Parameters

NameType
idstring
deviceGPUDevice
vertexSourcestring
fragmentSourcestring

Returns

WebGPUShader

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

NameType
groupIndexnumber
dataBindDataEntry[]
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

NameType
descIPipelineSimpleDescriptor

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

NameType
namestring

Returns

undefined | VariableInfo

Defined in

packages/charm/src/graphics/WebGPU/WebGPUShader.ts:222


getVertexModule

getVertexModule(): GPUShaderModule

Returns

GPUShaderModule

Defined in

packages/charm/src/graphics/WebGPU/WebGPUShader.ts:214