UNPKG

macaw-threejs

Version:

Macaw Three.js is ready to use library to connect Three.js with your project.<br/> Under the hood is a fully optimized, clean Three.js set up to make it easy to implement effects for images (future text, etc.). With effects out of the box, you don't even

2 lines (1 loc) 1.01 kB
import{EffectComposer as s}from"three/examples/jsm/postprocessing/EffectComposer.js";import{RenderPass as e}from"three/examples/jsm/postprocessing/RenderPass.js";import{ShaderPass as r}from"three/examples/jsm/postprocessing/ShaderPass.js";class t{constructor(t){const{core:a}=t;this._core=a,this.instance=new s(this._core.scene.renderer),this.instance.setSize(this._core.scene.dimensions.width,this._core.scene.dimensions.height),this.renderPass=new e(this._core.scene.scene,this._core.scene.camera),this.instance.addPass(this.renderPass),this.shaderPass=new r(this._core.controllers.shader.composer.shaderEffect),this.shaderPass.renderToScreen=!0,this.instance.addPass(this.shaderPass)}refreshShaderPass(s,e={}){const{uniforms:t,vertexShader:a,fragmentShader:n}=s;this.instance.removePass(this.shaderPass),this.shaderPass=new r({uniforms:Object.assign(Object.assign({},e),t),vertexShader:a,fragmentShader:n}),this.shaderPass.renderToScreen=!0,this.instance.addPass(this.shaderPass)}}export{t as MacawComposer};