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 |