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