Class: GeometrySystem

PIXI.GeometrySystem

System plugin to the renderer to manage geometry.

new PIXI.GeometrySystem (renderer) overrides

Name Type Description
renderer PIXI.Renderer

The renderer this System works for.

Extends

Members

canUseUInt32ElementIndex boolean readonly

true if support gl.UNSIGNED_INT in gl.drawElements or gl.drawElementsInstanced

Default Value:
  • false

hasInstance boolean readonly

true if has ANGLE_instanced_arrays extension

Default Value:
  • true

hasVao boolean readonly

true if we has *_vertex_array_object extension

Default Value:
  • true

managedBuffers object readonly

Cache for all buffers by id, used in case renderer gets destroyed or for profiling

managedGeometries object readonly

Cache for all geometries by id, used in case renderer gets destroyed or for profiling

Methods

bind (geometry, shader) void

Binds geometry so that is can be drawn. Creating a Vao if required

Name Type Attributes Description
geometry PIXI.Geometry <optional>

instance of geometry to bind

shader PIXI.Shader <optional>

instance of shader to use vao for

disposeAll (contextLost) void

dispose all WebGL resources of all managed geometries and buffers

Name Type Attributes Default Description
contextLost boolean <optional>
false

If context was lost, we suppress gl.delete calls

disposeBuffer (buffer, contextLost) void

Disposes buffer

Name Type Attributes Default Description
buffer PIXI.Buffer

buffer with data

contextLost boolean <optional>
false

If context was lost, we suppress deleteVertexArray

disposeGeometry (geometry, contextLost) void

Disposes geometry

Name Type Attributes Default Description
geometry PIXI.Geometry

Geometry with buffers. Only VAO will be disposed

contextLost boolean <optional>
false

If context was lost, we suppress deleteVertexArray

draw (type, size, start, instanceCount) this

Draw the geometry

Name Type Attributes Description
type Number

the type primitive to render

size Number <optional>

the number of elements to be rendered

start Number <optional>

Starting index

instanceCount Number <optional>

the number of instances of the set of elements to execute

Returns:
Type Description
this

reset () void

Reset and unbind any active VAO and geometry

activateVao (geometry, program) void protected

Activate vertex array object

Name Type Description
geometry PIXI.Geometry

Geometry instance

program PIXI.Program

Shader program instance

checkCompatibility (geometry, program) void protected

Check compatibility between a geometry and a program

Name Type Description
geometry PIXI.Geometry

Geometry instance

program PIXI.Program

Program instance

contextChange () void protected

Sets up the renderer context and necessary buffers.

getSignature (geometry, program) String protected

Takes a geometry and program and generates a unique signature for them.

Name Type Description
geometry PIXI.Geometry

to get signature from

program PIXI.Program

to test geometry against

Returns:
Type Description
String Unique signature of the geometry and program

initGeometryVao (geometry, program, incRefCount) WebGLVertexArrayObject protected

Creates or gets Vao with the same structure as the geometry and stores it on the geometry. If vao is created, it is bound automatically.

Name Type Attributes Default Description
geometry PIXI.Geometry

Instance of geometry to to generate Vao for

program PIXI.Program

Instance of program

incRefCount boolean <optional>
false

Increment refCount of all geometry buffers

Returns:
Type Description
WebGLVertexArrayObject

unbind () void protected

Unbind/reset everything

updateBuffers () void protected

Update buffers

Inherited Properties

From class PIXI.System

The renderer this manager works for.

Inherited Methods

From class PIXI.System

destroy () void inherited

Generic destroy methods to be overridden by the subclass