UNPKG

playcanvas

Version:

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

73 lines (72 loc) 1.48 kB
import { FisheyeProjection } from "../graphics/fisheye-projection.js"; class GSplatRenderer { device; node; cameraNode; layer; workBuffer; renderMode; _workBufferFormatVersion = -1; fisheyeProj = new FisheyeProjection(); constructor(device, node, cameraNode, layer, workBuffer) { this.device = device; this.node = node; this.cameraNode = cameraNode; this.layer = layer; this.workBuffer = workBuffer; this._workBufferFormatVersion = workBuffer?.format.extraStreamsVersion ?? -1; } destroy() { } resolveFisheye(fisheye) { const xrActive = !!this.cameraNode.camera?.camera?.xrActive; if (xrActive && fisheye > 0) { return 0; } return fisheye; } setRenderMode(renderMode) { this.renderMode = renderMode; } get usesGpuSort() { return false; } get requiresBounds() { return false; } get requiresCpuSort() { return !this.usesGpuSort; } get material() { return null; } setDataSource(source) { this.workBuffer = source; this.onWorkBufferFormatChanged(); } onWorkBufferFormatChanged() { } update(count, textureSize) { } setGpuSortedRendering(drawSlot, sortedIds, numSplatsBuffer, textureSize) { } setCpuSortedRendering() { } setOrderData() { } frameUpdate(params, exposure, fogParams) { } updateOverdrawMode(params) { } invalidateCullUpload() { } prepareRenderView(world, worldState, params) { return false; } preparePickingView(world, worldState, pickParams) { return null; } } export { GSplatRenderer };