@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
46 lines (45 loc) • 1.65 kB
JavaScript
"use strict";
import { NodeContext } from "../../../../poly/NodeContext";
import { RopType } from "../../../../poly/registers/nodes/types/Rop";
import { ParamConfig } from "../../../utils/params/ParamsConfig";
import { ObjType } from "../../../../poly/registers/nodes/types/Obj";
export function CameraRenderParamConfig(Base) {
return class Mixin extends Base {
constructor() {
super(...arguments);
this.render = ParamConfig.FOLDER();
/** @param toggle on to override rendered scene */
this.setScene = ParamConfig.BOOLEAN(0);
/** @param override rendered scene */
this.scene = ParamConfig.NODE_PATH("", {
visibleIf: { setScene: 1 },
nodeSelection: {
context: NodeContext.OBJ,
types: [ObjType.SCENE]
}
});
/** @param toggle on to override the renderer */
this.setRenderer = ParamConfig.BOOLEAN(0);
/** @param override renderer used */
this.renderer = ParamConfig.NODE_PATH("", {
visibleIf: { setRenderer: 1 },
nodeSelection: {
context: NodeContext.ROP,
types: [RopType.WEBGL]
},
dependentOnFoundNode: true
});
/** @param toggle on to add a CSSRenderer to have html elements on top of the 3D objects */
this.setCSSRenderer = ParamConfig.BOOLEAN(0);
/** @param add a css renderer */
this.CSSRenderer = ParamConfig.NODE_PATH("", {
visibleIf: { setCSSRenderer: 1 },
nodeSelection: {
context: NodeContext.ROP,
types: [RopType.CSS2D, RopType.CSS3D]
},
dependentOnFoundNode: true
});
}
};
}