Class: WGSLShaderAssembler
Defined in: lib/wgsl-shader-assembler.ts:19
Stateful assembler for unified WGSL shaders.
Extends
Constructors
Constructor
new WGSLShaderAssembler():
WGSLShaderAssembler
Returns
WGSLShaderAssembler
Inherited from
Properties
shaderLanguage
readonlyshaderLanguage:"wgsl"='wgsl'
Defined in: lib/wgsl-shader-assembler.ts:20
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
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
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
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
Returns
void
Inherited from
ShaderAssembler.addShaderTranspiler
assembleWGSLShader()
assembleWGSLShader(
props):object
Defined in: lib/wgsl-shader-assembler.ts:29
Assemble a WGSL unified shader.
Parameters
props
AssembleShaderProps
WGSL source, platform information, shader modules, defines, and injections.
Returns
object
Assembled WGSL source, resolved modules, uniforms, and binding debug metadata.
bindingAssignments
bindingAssignments:
object[]
bindingTable
bindingTable:
ShaderBindingDebugRow[]
entryPoints
entryPoints:
ShaderTranspilerEntryPoints
getUniforms
getUniforms:
GetUniformsFunc
modules
modules:
ShaderModule[]
shaderLayout
shaderLayout:
ShaderLayout|null
source
source:
string
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
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