@bloopjs/toodle / backends/webgl2/WebGLTextShader / WebGLTextShader
Class: WebGLTextShader
Defined in: backends/webgl2/WebGLTextShader.ts:22
WebGL 2 text shader for MSDF font rendering.
Unlike WebGPU which batches all text into storage buffers, WebGL renders each TextNode separately since WebGL2 doesn't support firstInstance.
Implements
Constructors
Constructor
new WebGLTextShader(
backend,pipeline):WebGLTextShader
Defined in: backends/webgl2/WebGLTextShader.ts:47
Parameters
backend
pipeline
Returns
WebGLTextShader
Properties
code
readonlycode:string=fragmentShader
Defined in: backends/webgl2/WebGLTextShader.ts:24
The final compiled shader code (for debugging)
Implementation of
font
readonlyfont:MsdfFont
Defined in: backends/webgl2/WebGLTextShader.ts:25
The font used by this text shader
Implementation of
label
readonlylabel:"text"="text"
Defined in: backends/webgl2/WebGLTextShader.ts:23
Debug label for the shader
Implementation of
maxCharCount
readonlymaxCharCount:number
Defined in: backends/webgl2/WebGLTextShader.ts:26
Maximum number of characters that can be rendered per text node
Implementation of
Methods
destroy()
destroy():
void
Defined in: backends/webgl2/WebGLTextShader.ts:270
Returns
void
endFrame()
endFrame():
void
Defined in: backends/webgl2/WebGLTextShader.ts:245
Cleanup after frame. Called once per frame after all processBatch calls.
Returns
void
Implementation of
processBatch()
processBatch(
nodes):number
Defined in: backends/webgl2/WebGLTextShader.ts:102
Process a batch of nodes and issue draw calls.
Parameters
nodes
The nodes to render
Returns
number
Number of draw calls issued
Implementation of
startFrame()
startFrame(
uniform):void
Defined in: backends/webgl2/WebGLTextShader.ts:98
Prepare for a new frame. Called once per frame before any processBatch calls.
Parameters
uniform
Engine uniforms (view-projection, resolution)
Returns
void