playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
34 lines (33 loc) • 1.28 kB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { FramePass } from "../../platform/graphics/frame-pass.js";
class FramePassGSplatComputeLocal extends FramePass {
/**
* @param {GSplatComputeLocalRenderer} renderer - The compute renderer that owns this pass.
*/
constructor(renderer) {
super(renderer.device);
/** @type {GSplatComputeLocalRenderer} */
__publicField(this, "renderer");
this.renderer = renderer;
this.name = "FramePassGSplatComputeLocal";
}
frameUpdate() {
const renderer = this.renderer;
const camera = renderer.cameraNode.camera;
const rt = camera.renderTarget;
const rtWidth = rt ? rt.width : this.device.width;
const rtHeight = rt ? rt.height : this.device.height;
const rect = camera.rect;
const width = Math.floor(rtWidth * rect.z);
const height = Math.floor(rtHeight * rect.w);
renderer.resizeOutputTexture(width, height);
}
execute() {
this.renderer.dispatch();
}
}
export {
FramePassGSplatComputeLocal
};