Skip to main content

Class: GPUGeometry

Defined in: modules/engine/src/geometry/gpu-geometry.ts:39

GPU-backed geometry container.

GPUGeometry owns already-created vertex and index buffers plus the bufferLayout metadata needed to bind those buffers to shader attributes.

Constructors​

Constructor​

new GPUGeometry(props): GPUGeometry

Defined in: modules/engine/src/geometry/gpu-geometry.ts:62

Creates GPU-backed geometry from existing buffers.

Parameters​

props​

GPUGeometryProps

Returns​

GPUGeometry

Properties​

attributes​

readonly attributes: Record<string, Buffer>

Defined in: modules/engine/src/geometry/gpu-geometry.ts:59

GPU vertex buffers, keyed by buffer layout name.


bufferLayout​

readonly bufferLayout: BufferLayout[] = []

Defined in: modules/engine/src/geometry/gpu-geometry.ts:50

Buffer layout matching GPUGeometry.attributes.


id​

readonly id: string

Defined in: modules/engine/src/geometry/gpu-geometry.ts:41

Application-provided or generated identifier.


indices?​

readonly optional indices?: Buffer | null

Defined in: modules/engine/src/geometry/gpu-geometry.ts:56

Optional GPU index buffer.


topology?​

readonly optional topology?: PrimitiveTopology

Defined in: modules/engine/src/geometry/gpu-geometry.ts:47

Determines how vertices are assembled into primitives.


userData​

userData: Record<string, unknown> = {}

Defined in: modules/engine/src/geometry/gpu-geometry.ts:44

Application-owned metadata.


vertexCount​

readonly vertexCount: number

Defined in: modules/engine/src/geometry/gpu-geometry.ts:53

Resolved draw vertex count.

Methods​

_calculateVertexCount()​

_calculateVertexCount(positions): number

Defined in: modules/engine/src/geometry/gpu-geometry.ts:102

Parameters​

positions​

Buffer

Returns​

number


destroy()​

destroy(): void

Defined in: modules/engine/src/geometry/gpu-geometry.ts:80

Destroys the owned index and vertex buffers.

Returns​

void


getAttributes()​

getAttributes(): Record<string, Buffer>

Defined in: modules/engine/src/geometry/gpu-geometry.ts:93

Returns the GPU vertex buffers.

Returns​

Record<string, Buffer>


getIndexes()​

getIndexes(): Buffer | null

Defined in: modules/engine/src/geometry/gpu-geometry.ts:98

Returns the GPU index buffer, or null for non-indexed geometry.

Returns​

Buffer | null


getVertexCount()​

getVertexCount(): number

Defined in: modules/engine/src/geometry/gpu-geometry.ts:88

Returns the draw vertex count.

Returns​

number