LogoPixi’VN
pixi-jsClasses

Class: Geometry

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:109

A Geometry is a low-level object that represents the structure of 2D shapes in terms of vertices and attributes. It's a crucial component for rendering as it describes the shape and format of the data that will go through the shaders. Essentially, a Geometry object holds the data you'd send to a GPU buffer.

A geometry is basically made of two components: Attributes: These are essentially arrays that define properties of the vertices like position, color, texture coordinates, etc. They map directly to attributes in your vertex shaders. Indices: An optional array that describes how the vertices are connected. If not provided, vertices will be interpreted in the sequence they're given.

Example

const geometry = new Geometry({
  attributes: {
    aPosition: [ // add some positions
      0, 0,
      0, 100,
      100, 100,
      100,   0,
    ],
    aUv: [ // add some uvs
      0, 0,
      0, 1,
      1, 1,
      1, 0,
    ]
  }
});

Advanced

Extends

  • EventEmitter<{ destroy: Geometry; unload: Geometry; update: Geometry; }>

Extended by

Implements

Constructors

Constructor

> new Geometry(options?): Geometry

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:146

Create a new instance of a geometry

Parameters

options?

GeometryDescriptor

The options for the geometry.

Returns

Geometry

Overrides

EventEmitter.constructor

Properties

_gcData?

> optional _gcData?: GCData

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:117

Internal

Implementation of

GCable._gcData


_gcLastUsed

> _gcLastUsed: number

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:121

Internal

Implementation of

GCable._gcLastUsed


_gpuData

> _gpuData: Record<number, GlGeometryGpuData>

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:115

Internal

Implementation of

GCable._gpuData


_layoutKey

> _layoutKey: number

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:137

Internal

the layout key will be generated by WebGPU all geometries that have the same structure will have the same layout key. This is used to cache the pipeline layout


attributes

> readonly attributes: Record<string, Attribute>

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:127

A record of the attributes of the geometry.


autoGarbageCollect

> autoGarbageCollect: boolean

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:119

If set to true, the resource will be garbage collected automatically when it is not used.

Implementation of

GCable.autoGarbageCollect


buffers

> readonly buffers: Buffer[]

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:129

The buffers that the attributes use


indexBuffer

> indexBuffer: Buffer

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:131

The index buffer of the geometry


instanceCount

> instanceCount: number

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:139

the instance count of the geometry to draw


topology

> topology: Topology

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:123

The topology of the geometry.


uid

> readonly uid: number

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:125

The unique id of the geometry.


prefixed

> static prefixed: string | boolean

Defined in: node_modules/eventemitter3/index.d.ts:9

Inherited from

EventEmitter.prefixed

Accessors

bounds

Get Signature

> get bounds(): Bounds

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:182

Returns the bounds of the geometry.

Returns

Bounds

Methods

addAttribute()

> addAttribute(name, attributeOption): void

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:175

Adds an attribute to the geometry.

Parameters

name

string

The name of the attribute to add.

attributeOption

AttributeOption

The attribute option to add.

Returns

void


addIndex()

> addIndex(indexBuffer): void

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:180

Adds an index buffer to the geometry.

Parameters

indexBuffer

number[] | Buffer | TypedArray

The index buffer to add. Can be a Buffer, TypedArray, or an array of numbers.

Returns

void


addListener()

> addListener<T>(event, fn, context?): this

Defined in: node_modules/eventemitter3/index.d.ts:45

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

fn

(...args) => void

context?

any

Returns

this

Inherited from

EventEmitter.addListener


destroy()

> destroy(destroyBuffers?): void

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:189

destroys the geometry.

Parameters

destroyBuffers?

boolean

destroy the buffers associated with this geometry

Returns

void


emit()

> emit<T>(event, ...args): boolean

Defined in: node_modules/eventemitter3/index.d.ts:32

Calls each of the listeners registered for a given event.

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

args

...ArgumentMap<{ destroy: Geometry; unload: Geometry; update: Geometry; }>[Extract<T, "update" | "destroy" | "unload">]

Returns

boolean

Inherited from

EventEmitter.emit


eventNames()

> eventNames(): ("update" | "destroy" | "unload")[]

Defined in: node_modules/eventemitter3/index.d.ts:15

Return an array listing the events for which the emitter has registered listeners.

Returns

("update" | "destroy" | "unload")[]

Inherited from

EventEmitter.eventNames


getAttribute()

> getAttribute(id): Attribute

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:153

Returns the requested attribute.

Parameters

id

string

The name of the attribute required

Returns

Attribute

  • The attribute requested.

getBuffer()

> getBuffer(id): Buffer

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:164

Returns the requested buffer.

Parameters

id

string

The name of the buffer required.

Returns

Buffer

  • The buffer requested.

getIndex()

> getIndex(): Buffer

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:158

Returns the index buffer

Returns

Buffer

  • The index buffer.

getSize()

> getSize(): number

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:169

Used to figure out how many vertices there are in this geometry

Returns

number

the number of vertices in the geometry


listenerCount()

> listenerCount(event): number

Defined in: node_modules/eventemitter3/index.d.ts:27

Return the number of listeners listening to a given event.

Parameters

event

"update" | "destroy" | "unload"

Returns

number

Inherited from

EventEmitter.listenerCount


listeners()

> listeners<T>(event): (...args) => void[]

Defined in: node_modules/eventemitter3/index.d.ts:20

Return the listeners registered for a given event.

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

Returns

(...args) => void[]

Inherited from

EventEmitter.listeners


off()

> off<T>(event, fn?, context?, once?): this

Defined in: node_modules/eventemitter3/index.d.ts:69

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

fn?

(...args) => void

context?

any

once?

boolean

Returns

this

Inherited from

EventEmitter.off


on()

> on<T>(event, fn, context?): this

Defined in: node_modules/eventemitter3/index.d.ts:40

Add a listener for a given event.

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

fn

(...args) => void

context?

any

Returns

this

Inherited from

EventEmitter.on


onBufferUpdate()

> protected onBufferUpdate(): void

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:147

Returns

void


once()

> once<T>(event, fn, context?): this

Defined in: node_modules/eventemitter3/index.d.ts:54

Add a one-time listener for a given event.

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

fn

(...args) => void

context?

any

Returns

this

Inherited from

EventEmitter.once


removeAllListeners()

> removeAllListeners(event?): this

Defined in: node_modules/eventemitter3/index.d.ts:79

Remove all listeners, or those of the specified event.

Parameters

event?

"update" | "destroy" | "unload"

Returns

this

Inherited from

EventEmitter.removeAllListeners


removeListener()

> removeListener<T>(event, fn?, context?, once?): this

Defined in: node_modules/eventemitter3/index.d.ts:63

Remove the listeners of a given event.

Type Parameters

T

T extends "update" | "destroy" | "unload"

Parameters

event

T

fn?

(...args) => void

context?

any

once?

boolean

Returns

this

Inherited from

EventEmitter.removeListener


unload()

> unload(): void

Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:184

Unloads the geometry from the GPU.

Returns

void

Implementation of

GCable.unload