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?
The options for the geometry.
Returns
Geometry
Overrides
Properties
_gcData?
> optional _gcData?: GCData
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:117
Internal
Implementation of
_gcLastUsed
> _gcLastUsed: number
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:121
Internal
Implementation of
_gpuData
> _gpuData: Record<number, GlGeometryGpuData>
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.d.ts:115
Internal
Implementation of
_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
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
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
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
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
- 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
- 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
- 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