Class: GPUProgram

December 2, 2022 · View on GitHub

gpu-io / GPUProgram

Class: GPUProgram

Table of contents

Properties

Constructors

Methods

Properties

name

Readonly name: string

Name of GPUProgram, used for error logging.


_fragmentShaderSource

Protected _fragmentShaderSource: string


_samplerUniformsIndices

Protected Readonly _samplerUniformsIndices: { name: string ; inputIndex: number ; shaderIndex: number }[] = []

Constructors

constructor

new GPUProgram(composer, params)

Create a GPUProgram.

Parameters

NameTypeDescription
composerGPUComposerThe current GPUComposer instance.
paramsObjectGPUProgram parameters.
params.namestringName of GPUProgram, used for error logging.
params.fragmentShaderstring | string[]Fragment shader source or array of sources to be joined.
params.uniforms?UniformParams[]Array of uniforms to initialize with GPUProgram. More uniforms can be added later with GPUProgram.setUniform().
params.compileTimeConstants?CompileTimeConstantsCompile time #define constants to include with fragment shader.

Methods

recompile

recompile(compileTimeConstants): void

Force compilation of GPUProgram with new compileTimeConstants.

Parameters

NameTypeDescription
compileTimeConstantsCompileTimeConstantsCompile time #define constants to include with fragment shader.

Returns

void


setUniform

setUniform(name, value, type?): void

Set fragment shader uniform for GPUProgram.

Parameters

NameTypeDescription
namestringUniform name as it appears in fragment shader.
valueUniformValueUniform value.
type?UniformTypeUniform type.

Returns

void


dispose

dispose(): void

Deallocate GPUProgram instance and associated WebGL properties.

Returns

void