UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

36 lines (35 loc) 968 B
"use strict"; import { TypedPostNode, PostParamOptions } from "./_Base"; import { NodeParamsConfig, ParamConfig } from "../utils/params/ParamsConfig"; import { EffectPass, SepiaEffect } from "postprocessing"; class SepiaPostParamsConfig extends NodeParamsConfig { constructor() { super(...arguments); /** @param amount */ this.amount = ParamConfig.FLOAT(0.5, { range: [0, 1], rangeLocked: [false, false], ...PostParamOptions }); } } const ParamsConfig = new SepiaPostParamsConfig(); export class SepiaPostNode extends TypedPostNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return "sepia"; } createPass(context) { const effect = new SepiaEffect(); const pass = new EffectPass(context.camera, effect); this.updatePass(pass); return pass; } updatePass(pass) { const effect = pass.effects[0]; effect.intensity = this.pv.amount; } }