Skip to main content

Class: GLSLShaderAssembler

Defined in: lib/glsl-shader-assembler.ts:11

Stateful assembler for GLSL vertex and fragment shaders.

Extends​

Constructors​

Constructor​

new GLSLShaderAssembler(): GLSLShaderAssembler

Returns​

GLSLShaderAssembler

Inherited from​

ShaderAssembler.constructor

Properties​

shaderLanguage​

readonly shaderLanguage: "glsl" = 'glsl'

Defined in: lib/glsl-shader-assembler.ts:12

Shader language accepted by this assembler.

Overrides​

ShaderAssembler.shaderLanguage

Methods​

_getModuleList()​

_getModuleList(appModules?): ShaderModule[]

Defined in: lib/shader-assembler-base.ts:143

Dedupe and combine with default modules

Parameters​

appModules?​

ShaderModule[] = []

Returns​

ShaderModule[]

Inherited from​

ShaderAssembler._getModuleList


addDefaultModule()​

addDefaultModule(module): void

Defined in: lib/shader-assembler-base.ts:105

Add a default module that does not have to be provided with every assembly call.

Parameters​

module​

ShaderModule

Shader module to include in later assembly calls.

Returns​

void

Inherited from​

ShaderAssembler.addDefaultModule


addShaderInjectionTarget()​

addShaderInjectionTarget(injectionTarget): void

Defined in: lib/shader-assembler-base.ts:128

Register a shader injection target

Parameters​

injectionTarget​

ShaderInjectionTarget

Shared stage and name with language-specific parameters, return type, and source.

Returns​

void

Inherited from​

ShaderAssembler.addShaderInjectionTarget


addShaderTranspiler()​

addShaderTranspiler(transpiler): void

Defined in: lib/shader-assembler-base.ts:32

Register or replace the compiler for one input language.

Parameters​

transpiler​

ShaderTranspiler

Returns​

void

Inherited from​

ShaderAssembler.addShaderTranspiler


assembleGLSLShaderPair()​

assembleGLSLShaderPair(props): object

Defined in: lib/glsl-shader-assembler.ts:19

Assemble a pair of shaders into a single shader program.

Parameters​

props​

AssembleShaderProps

GLSL vertex and fragment source, platform information, shader modules, defines, and injections.

Returns​

object

Assembled GLSL source, resolved modules, and combined uniform getter.

fs​

fs: string

getUniforms​

getUniforms: GetUniformsFunc

modules​

modules: ShaderModule[]

vs​

vs: string


removeDefaultModule()​

removeDefaultModule(module): void

Defined in: lib/shader-assembler-base.ts:119

Remove a default module

Parameters​

module​

ShaderModule

Shader module to remove from later assembly calls.

Returns​

void

Inherited from​

ShaderAssembler.removeDefaultModule


removeShaderTranspiler()​

removeShaderTranspiler(sourceLanguage): void

Defined in: lib/shader-assembler-base.ts:37

Remove the compiler for one input language.

Parameters​

sourceLanguage​

string

Returns​

void

Inherited from​

ShaderAssembler.removeShaderTranspiler


resetShaderInjectionTargets()​

resetShaderInjectionTargets(): void

Defined in: lib/shader-assembler-base.ts:136

Remove all registered shader injection targets, for example before re-registering targets for a new application configuration. Default modules are not affected.

Returns​

void

Inherited from​

ShaderAssembler.resetShaderInjectionTargets