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
Properties
shaderLanguage
readonlyshaderLanguage:"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
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
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
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