playcanvas
Version:
PlayCanvas WebGL game engine
35 lines (33 loc) • 850 B
JavaScript
class DrawCommands {
get maxCount() {
return this._maxCount;
}
get count() {
return this._count;
}
constructor(device, indexSizeBytes = 0){
this._maxCount = 0;
this.impl = null;
this._count = 1;
this.slotIndex = 0;
this.device = device;
this.indexSizeBytes = indexSizeBytes;
this.impl = device.createDrawCommandImpl(this);
}
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.impl.update?.(count);
}
}
export { DrawCommands };