Class: UniformGroup


Uniform group holds uniform map and some ID's for work

UniformGroup has two modes:

1: Normal mode Normal mode will upload the uniforms with individual function calls as required

2: Uniform buffer mode This mode will treat the uniforms as a uniform buffer. You can pass in either a buffer that you manually handle, or or a generic object that PixiJS will automatically map to a buffer for you. For maximum benefits, make Ubo UniformGroups static, and only update them each frame.

Rules of UBOs:

  • UBOs only work with WebGL2, so make sure you have a fallback!
  • Only floats are supported (including vec[2,3,4], mat[2,3,4])
  • Samplers cannot be used in ubo's (a GPU limitation)
  • You must ensure that the object you pass in exactly matches in the shader ubo structure. Otherwise, weirdness will ensue!
  • The name of the ubo object added to the group must match exactly the name of the ubo in the shader.
// ubo in shader:
uniform myCoolData { // declaring a ubo..
mat4 uCoolMatrix;
float uFloatyMcFloatFace

// a new uniform buffer object..
const myCoolData = new UniformBufferGroup({
  uCoolMatrix: new Matrix(),
  uFloatyMcFloatFace: 23,

// build a shader...
const shader = Shader.from(srcVert, srcFrag, {
  myCoolData // name matches the ubo name in the shader. will be processed accordingly.

new PIXI.UniformGroup (uniforms, isStatic, isUbo)

Name Type Attributes Description
uniforms object | Buffer <optional>

Custom uniforms to use to augment the built-in ones. Or a pixi buffer

isStatic boolean <optional>

Uniforms wont be changed after creation

isUbo boolean <optional>

if true, will treat this uniform group as a uniform buffer object


group boolean readonly

Its a group and not a single uniforms

Default Value:
  • true

static boolean

Uniforms wont be changed after creation

Default Value:
  • --

ubo boolean

Flags whether this group is treated like a uniform buffer object.

Default Value:
  • --

uniforms object readonly

uniform values

dirtyId number protected

dirty version

Default Value:
  • 0

id number protected

unique id


PIXI.UniformGroup.uboFrom (uniforms, _static) PIXI.UniformGroup static

A short hand function for creating a static UBO UniformGroup.

Name Type Attributes Description
uniforms Dict<any> | PIXI.Buffer

the ubo item

_static boolean <optional>

should this be updated each time it is used? defaults to true here!

Type Description