PIXI.ShaderSystem
class ShaderSystem implements PIXI.ISystem
System plugin to the renderer to manage shaders.
Constructor
new PIXI.ShaderSystem(renderer: PIXI.Renderer) → {}
Name | Type | Description |
---|---|---|
renderer | PIXI.Renderer |
The renderer this System works for. |
Summary
Properties from ShaderSystem
WebGLRenderingContext |
|
Methods from ShaderSystem
PIXI.GLProgram |
|
void |
Destroys this System and removes all its textures. |
PIXI.GLProgram |
|
PIXI.GLProgram |
Returns the underlying GLShade rof the currently bound shader. |
void |
Resets ShaderSystem state, does not affect WebGL state. |
void |
|
|
|
void |
|
void |
|
UniformsSyncCallback |
|
Protected Properties
Public Methods
bind(shader: PIXI.Shader, dontSync: boolean) → {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. |
Type | Description |
---|---|
PIXI.GLProgram |
the glProgram that belongs to the shader. |
destroy() → {void}
Destroys this System and removes all its textures.
Type | Description |
---|---|
void |
generateProgram(shader: PIXI.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. |
Type | Description |
---|---|
PIXI.GLProgram |
A shiny new glProgram! |
getGlProgram() → {PIXI.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.
Type | Description |
---|---|
PIXI.GLProgram |
The glProgram for the currently bound Shader for this context |
reset() → {void}
Resets ShaderSystem state, does not affect WebGL state.
Type | Description |
---|---|
void |
setUniforms(uniforms: Dict) → {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 |
Type | Description |
---|---|
void |
syncUniformBufferGroup(group: PIXI.UniformGroup, name: string) → {}
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: PIXI.UniformGroup, syncData: any) → {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 |
Type | Description |
---|---|
void |
syncUniforms(group: PIXI.UniformGroup, glProgram: PIXI.GLProgram, syncData: any) → {void}
Overrideable by the @pixi/unsafe-eval package to use static syncUniforms instead.
Name | Type | Description |
---|---|---|
group | PIXI.UniformGroup | |
glProgram | PIXI.GLProgram | |
syncData | any |
Type | Description |
---|---|
void |
Protected Methods
protected createSyncBufferGroup(group: PIXI.UniformGroup, glProgram: PIXI.GLProgram, name: string) → {UniformsSyncCallback}
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) |
Type | Description |
---|---|
UniformsSyncCallback |