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) • 767 B
JavaScript
import{RENDER_TIME as e}from"../../constants.js";class s{constructor(e){const{core:s}=e;this._core=s,this.time=0,this.isShaderPass=!1,this.isImage=!1,this.isManualShouldRender=!1,this.countClickRender=0}render(){this.time+=e,this.isShaderPass&&this._core.scroll.scrollSpeedRender(),this.shouldRender()&&this.manualRender(),window.requestAnimationFrame(this.render.bind(this))}manualRender(){const{scene:e,camera:s}=this._core.scene;this._core.controllers.general.setUniforms({image:!0,shaderPass:this.isShaderPass}),this._core.storage.effects.forEach((e=>{e.manualRender&&e.manualRender()})),this.isShaderPass?this._core.composer.instance.render():this._core.scene.renderer.render(e,s)}shouldRender(){return!!this.isManualShouldRender}}export{s as RenderController};