playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
73 lines (72 loc) • 1.48 kB
JavaScript
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
};