Class: ShaderSystem

PIXI.ShaderSystem

System plugin to the renderer to manage shaders.

new PIXI.ShaderSystem (renderer)

Name Type Description
renderer PIXI.Renderer

The renderer this System works for.

Implements

Members

gl WebGLRenderingContext protected

The current WebGL rendering context.

Methods

bind (shader, dontSync) PIXI.GLProgram

Changes the current shader to the one given in parameter.

Name Type Attributes Description
shader PIXI.Shader

the new shader

dontSync boolean <optional>

false if the shader should automatically sync its uniforms.

Returns:
Type Description
PIXI.GLProgram the glProgram that belongs to the shader.

destroy () void

Destroys this System and removes all its textures.

generateProgram (shader) PIXI.GLProgram

Generates a glProgram version of the Shader provided.

Name Type Description
shader PIXI.Shader

The shader that the glProgram will be based on.

Returns:
Type Description
PIXI.GLProgram A shiny new glProgram!

Returns the underlying GLShade rof the currently bound shader.

This can be handy for when you to have a little more control over the setting of your uniforms.

Returns:
Type Description
PIXI.GLProgram The glProgram for the currently bound Shader for this context

reset () void

Resets ShaderSystem state, does not affect WebGL state.

setUniforms (uniforms) void

Uploads the uniforms values to the currently bound shader.

Name Type Description
uniforms Dict<any>

the uniforms values that be applied to the current shader

syncUniformBufferGroup (group, name)

Syncs uniform buffers

Name Type Attributes Description
group PIXI.UniformGroup

the uniform buffer group to sync

name string <optional>

the name of the uniform buffer

syncUniformGroup (group, syncData) void

Syncs uniforms on the group

Name Type Attributes Description
group PIXI.UniformGroup

the uniform group to sync

syncData any <optional>

this is data that is passed to the sync function and any nested sync functions

syncUniforms (group, glProgram, syncData) void

Overrideable by the @pixi/unsafe-eval package to use static syncUniforms instead.

Name Type Description
group PIXI.UniformGroup
glProgram PIXI.GLProgram
syncData any

createSyncBufferGroup (group, glProgram, name) UniformsSyncCallback protected

Will create a function that uploads a uniform buffer using the STD140 standard. The upload function will then be cached for future calls If a group is manually managed, then a simple upload function is generated

Name Type Description
group PIXI.UniformGroup

the uniform buffer group to sync

glProgram PIXI.GLProgram

the gl program to attach the uniform bindings to

name string

the name of the uniform buffer (must exist on the shader)

Returns:
Type Description
UniformsSyncCallback