@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
59 lines (50 loc) • 2.02 kB
text/typescript
import {TypedCopNode} from '../_Base';
import {NodeParamsConfig} from '../../utils/params/ParamsConfig';
class BaseCopRendererCopParamsConfig extends NodeParamsConfig {
// useCameraRenderer = ParamConfig.BOOLEAN(0);
}
const ParamsConfig = new BaseCopRendererCopParamsConfig();
export class BaseCopRendererCopNode extends TypedCopNode<BaseCopRendererCopParamsConfig> {
override paramsConfig = ParamsConfig;
}
export class CopRendererController {
// private _renderer: WebGLRenderer | undefined;
constructor(protected node: BaseCopRendererCopNode) {}
// async renderer() {
// // if a renderer is created when we do not need to check the current renderer limit,
// // this means that each texture node which has useCameraRenderer = false
// // will create one.
// // This will lead to a loss of WebGL Content on scene load
// // if (isBooleanTrue(this.node.pv.useCameraRenderer)) {
// return await this.cameraRenderer();
// // } else {
// // return (this._renderer = this._renderer || this._createRenderer());
// // }
// }
// reset() {
// this._renderer?.dispose();
// this._renderer = undefined;
// }
async waitForRenderer() {
return await this.node.scene().renderersRegister.waitForRenderer();
}
// saveState() {
// // const prev_target = renderer.getRenderTarget();
// // renderer.getSize(this._prev_renderer_size);
// // console.log('texture', texture);
// // const prev_pixel_aspect_ratio = renderer.getPixelRatio();
// // const prev_auto_clear: boolean = renderer.autoClear;
// // renderer.toneMappingExposure = 1;
// // renderer.outputEncoding = sRGBEncoding; // should be linear
// this._makeLinear();
// }
// private _makeLinear() {
// // renderer.outputEncoding = LinearEncoding
// }
// restoreState() {
// // renderer.setRenderTarget(prev_target);
// // renderer.setSize(this._prev_renderer_size.x, this._prev_renderer_size.y);
// // renderer.setPixelRatio(prev_pixel_aspect_ratio);
// // renderer.autoClear = prev_auto_clear;
// }
}