Standard 2D geometry used in PixiJS.

Geometry can be defined without passing in a style or data if required.

Example

import { Geometry } from 'pixi.js';

const geometry = new Geometry();

geometry.addAttribute('positions', [0, 0, 100, 0, 100, 100, 0, 100], 2);
geometry.addAttribute('uvs', [0, 0, 1, 0, 1, 1, 0, 1], 2);
geometry.addIndex([0, 1, 2, 1, 3, 2]);

Memberof

PIXI

Hierarchy (view full)

Constructors

Properties

attributes: {
    [key: string]: Attribute;
}

Type declaration

buffers: Buffer[]
disposeRunner: Runner<any, any[]>
glVertexArrayObjects: {
    [key: number]: {
        [key: string]: WebGLVertexArrayObject;
    };
}

A map of renderer IDs to webgl VAOs

Type declaration

  • [key: number]: {
        [key: string]: WebGLVertexArrayObject;
    }
    • [key: string]: WebGLVertexArrayObject
id: number
indexBuffer: Buffer
instanceCount: number

Number of instances in this geometry, pass it to GeometrySystem.draw().

Default

1
instanced: boolean

Whether the geometry is instanced.

refCount: number

Count of existing (not destroyed) meshes that reference this geometry.

Methods

  • Adds an attribute to the geometry Note: stride and start should be undefined if you dont know them, not 0!

    Parameters

    • id: string

      the name of the attribute (matching up to a shader)

    • buffer: number[] | Float32Array | Uint32Array | Buffer

      the buffer that holds the data of the attribute . You can also provide an Array and a buffer will be created from it.

    • Optional size: number

      the size of the attribute. If you have 2 floats per vertex (eg position x and y) this would be 2

    • Optional normalized: boolean

      should the data be normalized.

    • Optional type: TYPES

      what type of number is the attribute. Check PIXI.TYPES to see the ones available

    • Optional stride: number

      How far apart, in bytes, the start of each value is. (used for interleaving data)

    • Optional start: number

      How far into the array to start reading values (used for interleaving data)

    • Optional instance: boolean

      Instancing flag

    Returns this

    • Returns self, useful for chaining.
  • Adds an index buffer to the geometry The index buffer contains integers, three for each triangle in the geometry, which reference the various attribute buffers (position, colour, UV coordinates, other UV coordinates, normal, …). There is only ONE index buffer.

    Parameters

    • Optional buffer: number[] | IArrayBuffer | Buffer

      The buffer that holds the data of the index buffer. You can also provide an Array and a buffer will be created from it.

    Returns Geometry

    • Returns self, useful for chaining.
  • Returns a clone of the geometry.

    Returns Geometry

    • A new clone of this geometry.
  • Destroys the geometry.

    Returns void

  • Disposes WebGL resources that are connected to this geometry.

    Returns void

  • Returns the requested attribute.

    Parameters

    • id: string

      The name of the attribute required

    Returns Attribute

    • The attribute requested.
  • Returns the requested buffer.

    Parameters

    • id: string

      The name of the buffer required.

    Returns Buffer

    • The buffer requested.
  • Returns the index buffer

    Returns Buffer

    • The index buffer.
  • Get the size of the geometries, in vertices.

    Returns number

  • This function modifies the structure so that all current attributes become interleaved into a single buffer This can be useful if your model remains static as it offers a little performance boost

    Returns Geometry

    • Returns self, useful for chaining.
  • Merges an array of geometries into a new single one.

    Geometry attribute styles must match for this operation to work.

    Parameters

    • geometries: Geometry[]

      array of geometries to merge

    Returns Geometry

    • Shiny new geometry!

Generated using TypeDoc