Abstract Class: ShaderAssembler
Defined in: lib/shader-assembler-base.ts:21
A stateful version of assembleShaders that can be used to assemble shaders.
Supports setting of default modules and hooks.
Extended by
Constructors
Constructor
new ShaderAssembler():
ShaderAssembler
Returns
ShaderAssembler
Properties
shaderLanguage
abstractreadonlyshaderLanguage:"glsl"|"wgsl"
Defined in: lib/shader-assembler-base.ts:23
Shader language accepted by this assembler.
Methods
_getModuleList()
_getModuleList(
appModules?):ShaderModule[]
Defined in: lib/shader-assembler-base.ts:143
Dedupe and combine with default modules
Parameters
appModules?
ShaderModule[] = []
Returns
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
Shader module to include in later assembly calls.
Returns
void
addShaderInjectionTarget()
addShaderInjectionTarget(
injectionTarget):void
Defined in: lib/shader-assembler-base.ts:128
Register a shader injection target
Parameters
injectionTarget
Shared stage and name with language-specific parameters, return type, and source.
Returns
void
addShaderTranspiler()
addShaderTranspiler(
transpiler):void
Defined in: lib/shader-assembler-base.ts:32
Register or replace the compiler for one input language.
Parameters
transpiler
Returns
void
removeDefaultModule()
removeDefaultModule(
module):void
Defined in: lib/shader-assembler-base.ts:119
Remove a default module
Parameters
module
Shader module to remove from later assembly calls.
Returns
void
removeShaderTranspiler()
removeShaderTranspiler(
sourceLanguage):void
Defined in: lib/shader-assembler-base.ts:37
Remove the compiler for one input language.
Parameters
sourceLanguage
string
Returns
void
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