@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
40 lines (36 loc) • 1.35 kB
text/typescript
// import {Constructor} from '../../../../types/GlobalTypes';
// import {BaseController} from './_BaseController';
// import {FrontSide} from 'three';
// import {DoubleSide, BackSide, FrontSide} from 'three';
// import {BackSide} from 'three';
// import {Material} from 'three';
// import {TypedMatNode} from '../_Base';
// import {NodeParamsConfig, ParamConfig} from '../../utils/params/ParamsConfig';
// import {isBooleanTrue} from '../../../../core/BooleanValue';
// export function SideParamConfig<TBase extends Constructor>(Base: TBase) {
// return class Mixin extends Base {
// };
// }
// class SidedMaterial extends Material {
// side!: number;
// }
// class SideParamsConfig extends SideParamConfig(NodeParamsConfig) {}
// class SideMatNode extends TypedMatNode<SidedMaterial, SideParamsConfig> {
// createMaterial() {
// return new SidedMaterial();
// }
// }
// export class SideController extends BaseController {
// constructor(protected node: SideMatNode) {
// super(node);
// }
// static update(node: SideMatNode) {
// const single_side = isBooleanTrue(node.pv.front) ? FrontSide : BackSide;
// const new_side = isBooleanTrue(node.pv.doubleSided) ? DoubleSide : single_side;
// const mat = node.material;
// if (new_side != mat.side) {
// mat.side = new_side;
// mat.needsUpdate = true;
// }
// }
// }