Advertisement
Guest User

Untitled

a guest
Jun 10th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function update () {
  2.  
  3.     // Draw Shadows
  4.     if (shadows) {
  5.         gl.disable(gl.DEPTH_TEST);
  6.  
  7.         bindShadowFBO()
  8.  
  9.         shadowShaderON();
  10.         drawWorld(); // from light point of view
  11.  
  12.         shadowShaderOFF();
  13.         unbindShadowFBO()
  14.     }
  15.  
  16.     // Bind Post Processor FBO IN
  17.     if (postProcessing) { PostProcessor.fbo.in.bind() }
  18.  
  19.     // Clear Scene
  20.     gl.enable(gl.DEPTH_TEST);
  21.     gl.clear(gl.COLOR_BUFFER_BIT || gl.DEPTH_BUFFER_BIT);
  22.  
  23.     // Draw Scene
  24.     phongShaderON();
  25.     drawWorld();
  26.     phongShaderOFF();
  27.  
  28.  
  29.     if (postProcessing) {
  30.          // Turn Off Post Processor FBO IN
  31.         gl.bindFramebuffer(gl.FRAMEBUFFER, null);
  32.  
  33.         // Blit FBO IN and OUT
  34.         gl.bindFramebuffer(gl.READ_FRAMEBUFFER, fbo.in);
  35.         gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, fbo.out);
  36.        
  37.         gl.blitFramebuffer(
  38.             0, 0, width, height,
  39.             0, 0, width, height,
  40.             gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT,  
  41.             gl.NEAREST
  42.         );
  43.        
  44.         // Unbind READ and Draw Frame Buffers
  45.         gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null);
  46.         gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);
  47.  
  48.  
  49.         // Ready to draw on QUAD
  50.  
  51.         gl.disable(gl.DEPTH_TEST);
  52.        
  53.         // Process Effects
  54.         postprocessorShaderON();
  55.         renderQuad.bind();
  56.  
  57.         gl.activeTexture(gl.TEXTURE0);
  58.         gl.uniform1i(location, 0);
  59.         PostProcessor.texture.bind();
  60.  
  61.         this.quad.draw();
  62.        
  63.         PostProcessor.texture.unbind();
  64.         postprocessorShaderOFF();
  65.        
  66.         renderQuad.unbind();
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement