Skip to content

galavi / TilePool

Class: TilePool

Defined in: utils/tile.ts:303

Unified 3D tile pool. Manages a pre-allocated 3D texture where each "slot" holds one tile. 2D tiles use depth=1 (same code path).

Region per slot: start/scale/bias/tex_offset/tex_scale (20 floats = 80 bytes).

Constructors

new TilePool()

new TilePool(config): TilePool

Defined in: utils/tile.ts:323

Parameters

config

TilePoolConfig

Returns

TilePool

Properties

texture

readonly texture: GPUTexture

Defined in: utils/tile.ts:304


indexBuffer

readonly indexBuffer: GPUBuffer

Defined in: utils/tile.ts:305


readyBuffer

readonly readyBuffer: GPUBuffer

Defined in: utils/tile.ts:306


regionBuffer

readonly regionBuffer: GPUBuffer

Defined in: utils/tile.ts:307


grid

readonly grid: number

Defined in: utils/tile.ts:314

Grid cells: 9 (3×3×1) for 2D tiles, 27 (3×3×3) for 3D tiles


poolSize

readonly poolSize: number

Defined in: utils/tile.ts:315


invPoolSize

readonly invPoolSize: number

Defined in: utils/tile.ts:316


device

readonly device: GPUDevice

Defined in: utils/tile.ts:317


tileSize

readonly tileSize: Vec3

Defined in: utils/tile.ts:320

Accessors

gridSize

Get Signature

get gridSize(): number

Defined in: utils/tile.ts:417

Returns

number


capacity

Get Signature

get capacity(): number

Defined in: utils/tile.ts:418

Returns

number

Methods

getSlot()

getSlot(tileId): undefined | number

Defined in: utils/tile.ts:420

Parameters

tileId

string

Returns

undefined | number


reset()

reset(): void

Defined in: utils/tile.ts:424

Returns

void


allocateSlot()

allocateSlot(tileId): number

Defined in: utils/tile.ts:432

Parameters

tileId

string

Returns

number


uploadTile()

uploadTile(slot, data, region): void

Defined in: utils/tile.ts:449

Parameters

slot

number

data

ArrayBuffer

region
start

number[]

scale

number[]

Returns

void


destroy()

destroy(): void

Defined in: utils/tile.ts:516

Returns

void

Released under the GPL-3.0 License.