import * as THREE from "../../libs/three.js/build/three.module.js"; import {Shaders} from "../../build/shaders/shaders.js"; import {EyeDomeLightingMaterial} from './EyeDomeLightingMaterial.js' // // Algorithm by Christian Boucheny // shader code taken and adapted from CloudCompare // // see // https://github.com/cloudcompare/trunk/tree/master/plugins/qEDL/shaders/EDL // http://www.kitware.com/source/home/post/9 // https://tel.archives-ouvertes.fr/tel-00438464/document p. 115+ (french) export class ExtendEyeDomeLightingMaterial extends EyeDomeLightingMaterial{ constructor(parameters = {}){ super(parameters); delete this.uniforms.screenWidth delete this.uniforms.screenHeight this.uniforms.resolution = { type: 'v2', value: new THREE.Vector2()} this.uniforms.useEDL = { type: 'i', value: 1 } this.vertexShader = this.getDefines() + Shaders['edl_new.vs'] //改 this.fragmentShader = this.getDefines() + Shaders['edl_new.fs'] //改 } }