@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
29 lines (28 loc) • 897 B
JavaScript
;
import { UpdateMatNode } from "./_Base";
import { NodeParamsConfig, ParamConfig } from "../utils/params/ParamsConfig";
class ClipPropertiesMatParamsConfig extends NodeParamsConfig {
constructor() {
super(...arguments);
/** @param clipIntersection */
this.clipIntersection = ParamConfig.BOOLEAN(0);
/** @param clipShadows */
this.clipShadows = ParamConfig.BOOLEAN(1);
}
}
const ParamsConfig = new ClipPropertiesMatParamsConfig();
export class ClipPropertiesMatNode extends UpdateMatNode {
constructor() {
super(...arguments);
this.paramsConfig = ParamsConfig;
}
static type() {
return "clipProperties";
}
async cook(inputMaterials) {
const inputMaterial = inputMaterials[0];
inputMaterial.clipIntersection = this.pv.clipIntersection;
inputMaterial.clipShadows = this.pv.clipShadows;
this.setMaterial(inputMaterial);
}
}