UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

36 lines (34 loc) 906 B
class DrawCommands { get maxCount() { return this._maxCount; } get count() { return this._count; } destroy() { this.impl?.destroy?.(); this.impl = null; } allocate(maxCount) { this._maxCount = maxCount; this.impl.allocate?.(maxCount); } add(i, indexOrVertexCount, instanceCount, firstIndexOrVertex, baseVertex = 0, firstInstance = 0) { this.impl.add(i, indexOrVertexCount, instanceCount, firstIndexOrVertex, baseVertex, firstInstance); } update(count) { this._count = count; this.primitiveCount = this.impl.update?.(count) ?? 0; } constructor(device, indexSizeBytes = 0){ this._maxCount = 0; this.impl = null; this._count = 1; this.slotIndex = 0; this.primitiveCount = 0; this.device = device; this.indexSizeBytes = indexSizeBytes; this.impl = device.createDrawCommandImpl(this); } } export { DrawCommands };