Skip to content

@orillusion/core


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

readonly instanceID: 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

StorageGPUBuffer

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

StorageGPUBuffer


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

StructStorageGPUBuffer<T>

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

UniformGPUBuffer

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

UniformGPUBuffer


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

Vector2

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

Vector3

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

Color

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

Vector2


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

Vector3


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

Color


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