From 90cf968a13fda6d2f3df06006439092c2520eaee Mon Sep 17 00:00:00 2001 From: aardgoose Date: Wed, 20 Sep 2023 14:15:59 +0100 Subject: [PATCH] wip --- examples/jsm/renderers/webgl/WebGLBackend.js | 106 ++----------------- 1 file changed, 8 insertions(+), 98 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 8579fc3329d7ce..709caec68a9eff 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -645,110 +645,20 @@ class WebGLBackend extends Backend { if ( renderContext.textures !== null ) { const renderContextData = this.get( renderContext ); - - let fb = renderContextData.framebuffer; - - if ( fb === undefined ) { - - fb = gl.createFramebuffer(); - - gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); - - const textures = renderContext.textures; - - const drawBuffers = []; - - for ( let i = 0; i < textures.length; i++ ) { - - const texture = textures[ i ]; - const { textureGPU } = this.get( texture ); - - const attachment = gl.COLOR_ATTACHMENT0 + i; - - gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0 + i, gl.TEXTURE_2D, textureGPU, 0 ); - - drawBuffers.push( attachment ); - - } - - gl.drawBuffers( drawBuffers ); - - if ( renderContext.depthTexture !== null ) { - - const { textureGPU } = this.get( renderContext.depthTexture ); - - gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, textureGPU, 0 ); - - } - - renderContextData.framebuffer = fb; - - } else { - - gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); - - } - - } else { - - gl.bindFramebuffer( gl.FRAMEBUFFER, null ); - - } - - } - -} - -_setFramebuffer( renderContext ) { - - const { gl } = this; - - if ( renderContext.textures !== null ) { - - const renderContextData = this.get( renderContext ); - - let fb; - let cubeFace = 0; - - if ( renderContext.isCube ) { - - if ( renderContextData.cubeFramebuffers === undefined ) { - - renderContextData.cubeFramebuffers = []; - console.log( 'fb cube', renderContext.textures[ 0 ].id ); - - } - - cubeFace = this.renderer._activeCubeFace; - fb = renderContextData.cubeFramebuffers[ cubeFace ] - - } else { - - fb = renderContextData.framebuffer; - - } - - if ( fb === undefined ) { - - fb = gl.createFramebuffer(); - - gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); - - const textures = renderContext.textures; - - let drawBuffers = []; + + let fb; + let cubeFace = this.renderer._activeCubeFace; if ( renderContext.isCube ) { - + if ( renderContextData.cubeFramebuffers === undefined ) { renderContextData.cubeFramebuffers = []; - + } - - cubeFace = this.renderer._activeCubeFace; + fb = renderContextData.cubeFramebuffers[ cubeFace ] - + } else { fb = renderContextData.framebuffer; @@ -760,7 +670,7 @@ _setFramebuffer( renderContext ) { fb = gl.createFramebuffer(); gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); - + const textures = renderContext.textures; let drawBuffers = [];