Class GraphicsGeometry

The Graphics class contains methods used to draw primitive shapes such as lines, circles and rectangles to the display, and to color and fill them.

GraphicsGeometry is designed to not be continually updating the geometry since it's expensive to re-tesselate using earcut. Consider using PIXI.Mesh for this use-case, it's much faster.

Memberof

PIXI

Hierarchy (view full)

Constructors

Properties

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

Type declaration

batchDirty: number

Batches need to regenerated if the geometry is updated.

batchable: boolean
batches: BatchPart[]

Intermediate abstract format sent to batch system. Can be converted to drawCalls or to batchable objects.

Member

boundsPadding: number

Padding to add to the bounds.

buffers: Buffer[]
closePointEps: number

Minimal distance between points that are considered different. Affects line tesselation.

colors: number[]

The collection of colors

disposeRunner: Runner<any, any[]>
drawCalls: BatchDrawCall[]

List of current draw calls drived from the batches.

Member

glVertexArrayObjects: {
    [key: number]: {
        [key: string]: WebGLVertexArrayObject;
    };
}

A map of renderer IDs to webgl VAOs

Type declaration

  • [key: number]: {
        [key: string]: WebGLVertexArrayObject;
    }
    • [key: string]: WebGLVertexArrayObject
graphicsData: GraphicsData[]

The collection of drawn shapes.

Member

id: number
indexBuffer: Buffer
indices: number[]

The indices of the vertices

indicesUint16: Uint16Array | Uint32Array
instanceCount: number

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

Default

1
instanced: boolean

Whether the geometry is instanced.

points: number[]

An array of points to draw, 2 numbers per point

refCount: number

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

textureIds: number[]

Reference to the texture IDs.

uvs: number[]

The UVs collection

uvsFloat32: Float32Array
BATCHABLE_SIZE: number

The maximum number of points to consider an object "batchable", able to be batched by the renderer's batch system.

Accessors

  • get bounds(): Bounds
  • Get the current bounds of the graphic geometry.

    Since 6.5.0, bounds of the graphics geometry are calculated based on the vertices of generated geometry. Since shapes or strokes with full transparency (alpha: 0) will not generate geometry, they are not considered when calculating bounds for the graphics geometry. See PR [#8343]https://github.com/pixijs/pixijs/pull/8343 and issue [#8623]https://github.com/pixijs/pixijs/pull/8623.

    Returns Bounds

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.
  • Clears the graphics that were drawn to this Graphics object, and resets fill and line style settings.

    Returns GraphicsGeometry

    • This GraphicsGeometry object. Good for chaining method calls
  • Returns a clone of the geometry.

    Returns Geometry

    • A new clone of this geometry.
  • Check to see if a point is contained within this geometry.

    Parameters

    • point: IPointData

      Point to check if it's contained.

    Returns boolean

    true if the point is contained within geometry.

  • Destroys the GraphicsGeometry object.

    Returns void

  • Disposes WebGL resources that are connected to this geometry.

    Returns void

  • Draws the given shape to this Graphics object. Can be any of Circle, Rectangle, Ellipse, Line or Polygon.

    Parameters

    • shape: IShape

      The shape object to draw.

    • Optional matrix: Matrix

      Transform applied to the points of the shape.

    Returns GraphicsGeometry

    • Returns geometry for chaining.
  • Draws the given shape to this Graphics object. Can be any of Circle, Rectangle, Ellipse, Line or Polygon.

    Parameters

    • shape: IShape

      The shape object to draw.

    • Optional fillStyle: FillStyle

      Defines style of the fill.

    • Optional lineStyle: LineStyle

      Defines style of the lines.

    • Optional matrix: Matrix

      Transform applied to the points of the shape.

    Returns GraphicsGeometry

    • Returns geometry for chaining.
  • 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.
  • Generates intermediate batch data. Either gets converted to drawCalls or used to convert to batch objects directly by the Graphics object.

    Returns void

  • 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