gameforge - v0.1.12
    Preparing search index...

    Class UniformGroup<LAYOUT>

    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.
    })

    PIXI

    Type Parameters

    Index

    Constructors

    • Type Parameters

      Parameters

      • Optionaluniforms: Buffer | LAYOUT

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

      • OptionalisStatic: boolean

        Uniforms wont be changed after creation.

      • OptionalisUbo: boolean

        If true, will treat this uniform group as a uniform buffer object.

      Returns UniformGroup<LAYOUT>

    Properties

    autoManage: boolean
    buffer?: Buffer
    dirtyId: number

    Dirty version

    group: boolean

    Its a group and not a single uniforms.

    true
    
    id: number

    unique id

    static: boolean

    Flag for if uniforms wont be changed after creation.

    syncUniforms: Dict<UniformsSyncCallback>
    ubo: boolean

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

    uniforms: LAYOUT

    Uniform values

    Methods

    • Parameters

      • name: string
      • uniforms: Dict<any>
      • Optional_static: boolean

      Returns void

    • Returns void

    • Parameters

      • uniforms: Dict<any> | Buffer
      • Optional_static: boolean
      • Optional_ubo: boolean

      Returns UniformGroup

    • A short hand function for creating a static UBO UniformGroup.

      Parameters

      • uniforms: Dict<any> | Buffer

        the ubo item

      • Optional_static: boolean

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

      Returns UniformGroup