       #@composer.addPass(@depthExtractPass)
       #generate normal texture
       #@composer.addPass(normalPass)
-      
       @composer.addPass(@fxAAPass)
-      #@composer.addPass(edgeDetectPass)
-      #@composer.addPass(edgeDetectPass2)
-      #@composer.addPass(copyPass)
       @composer.addPass(vignettePass)
       #make sure the last in line renders to screen
       @composer.passes[@composer.passes.length-1].renderToScreen = true
       
-      
-      
+      #steps:
+      #render default to @colorTarget
+      #render depth
+      #render normal
+      
+      #final composer
+      ### 
+      finalComposer = new THREE.EffectComposer( renderer, renderTarget );
+
+      #prepare the final render passes
+      renderModel = new THREE.RenderPass( scene, camera );
+      finalComposer.addPass( renderModel );
+      
+      effectBlend = new THREE.ShaderPass( THREE.AdditiveBlendShader, "tDiffuse1" )
+      effectBlend.uniforms[ 'tDiffuse2' ].value = composer2.renderTarget2
+      finalComposer.addPass( effectBlend )
+      ###
 
       
     setupView:(val)=>

      overlayRenderPass = new THREE.RenderPass(@overlayScene, @overlayCamera)
      
      #
      @colorTarget = new THREE.WebGLRenderTarget(@width, @height, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBFormat } )
      colorPass = new THREE.RenderPass(@scene, @camera)
      
      @depthTarget = new THREE.WebGLRenderTarget(@width, @height, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBFormat } )
      @depthMaterial = new THREE.MeshDepthMaterial()
      depthPass = new THREE.RenderPass(@scene, @camera, @depthMaterial)
      
      @normalTarget = new THREE.WebGLRenderTarget(@width, @height, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBFormat } )
      @normalMaterial = new THREE.MeshNormalMaterial()
      normalPass = new THREE.RenderPass(@scene, @camera, @normalMaterial)
      
      
      copyPass = new THREE.ShaderPass( THREE.CopyShader )
      
      @fxAAPass = new THREE.ShaderPass(THREE.FXAAShader)
      @fxAAPass.uniforms['resolution'].value.set(fxaaResolutionMultiplier / (@width * @dpr), fxaaResolutionMultiplier / (@height * @dpr))

          $("#testOverlay2").addClass("hide")
      else
        $("#testOverlay2").addClass("hide")
        
      #necessary hack for effectomposer
      THREE.EffectComposer.camera = new THREE.OrthographicCamera( -1, 1, 1, -1, 0, 1 )
      THREE.EffectComposer.quad = new THREE.Mesh( new THREE.PlaneGeometry( 2, 2 ), null )
      THREE.EffectComposer.scene = new THREE.Scene()
