#
luxiaotao1123
2024-03-30 7f5f0fafa5baa1a920a3499a76ac8f7489e15a58
zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
@@ -5,6 +5,9 @@
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer';
import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass';
import { OutlinePass } from 'three/examples/jsm/postprocessing/OutlinePass';
import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass';
import { FXAAShader } from 'three/examples/jsm/shaders/FXAAShader';
const help = false;
@@ -37,7 +40,6 @@
    }
    render = () => {
        this.renderer.shadowMap.enabled = true;
        // this.renderer.render(this.scene, this.camera);
        this.composer.render(); // use special effects
        this.stats.update();
@@ -94,6 +96,16 @@
        const composer = new EffectComposer(this.renderer);
        const renderPass = new RenderPass(this.scene, this.camera);
        composer.addPass(renderPass);
        // pixel ratio
        const pixelRatio = this.renderer.getPixelRatio();
        const newWidth = Math.floor(this.getFullWidth() * pixelRatio) || 1;
        const newHeight = Math.floor(this.getFullHeight() * pixelRatio) || 1;
        composer.setSize(newWidth, newHeight);
        // antialias
        const effectFXAA = new ShaderPass(FXAAShader);
        effectFXAA.uniforms['resolution'].value.set(1 / newWidth, 1 / newHeight);
        composer.addPass(effectFXAA);
        // outline
        this.outlinePass = new OutlinePass(new THREE.Vector2(this.getFullWidth(), this.getFullHeight()), this.scene, this.camera);
        composer.addPass(this.outlinePass);
        return composer;