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... constmyCoolData = newUniformBufferGroup({ uCoolMatrix:newMatrix(), uFloatyMcFloatFace:23, }}
// Build a shader... constshader = Shader.from(srcVert, srcFrag, { myCoolData// Name matches the UBO name in the shader. Will be processed accordingly. })
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:
Memberof
PIXI