From 31abcafbfb3ed6a6780fa4578fbf4feaf4ed786a Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sat, 30 Dec 2023 20:00:58 +0900 Subject: [PATCH 01/15] support material.wireframe in webgl backend --- examples/jsm/renderers/webgl/WebGLBackend.js | 15 ++++++++++++++- examples/jsm/renderers/webgl/utils/WebGLState.js | 16 ++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 96aaa9a0513967..7dc0c3c404b944 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -386,7 +386,20 @@ class WebGLBackend extends Backend { else if ( object.isLineSegments ) mode = gl.LINES; else if ( object.isLine ) mode = gl.LINE_STRIP; else if ( object.isLineLoop ) mode = gl.LINE_LOOP; - else mode = gl.TRIANGLES; + else { + + if ( material.wireframe === true ) { + + state.setLineWidth( material.wireframeLinewidth * this.renderer.getPixelRatio() ); + mode = gl.LINES; + + } else { + + mode = gl.TRIANGLES; + + } + + } // diff --git a/examples/jsm/renderers/webgl/utils/WebGLState.js b/examples/jsm/renderers/webgl/utils/WebGLState.js index 3b0be6b24ac430..efdfc7e84bd1fb 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLState.js +++ b/examples/jsm/renderers/webgl/utils/WebGLState.js @@ -40,6 +40,7 @@ class WebGLState { this.currentStencilZFail = null; this.currentStencilZPass = null; this.currentStencilMask = null; + this.currentLineWidth = null; if ( initialized === false ) { @@ -161,6 +162,21 @@ class WebGLState { } + setLineWidth( width ) { + + const { currentLineWidth, gl } = this; + + if ( width !== currentLineWidth ) { + + gl.lineWidth( width ); + + this.currentLineWidth = width; + + } + + } + + setBlending( blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha ) { const { gl } = this; From e530132b03670dac7a98da7f1775a71569b1ca82 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sun, 31 Dec 2023 23:23:20 +0900 Subject: [PATCH 02/15] fix reattach framebuffer, support msaa and wireframe demo --- examples/files.json | 3 +- examples/jsm/renderers/webgl/WebGLBackend.js | 206 ++++++++++++++++-- .../webgpu/utils/WebGPUPipelineUtils.js | 15 +- .../webgpu/utils/WebGPUTextureUtils.js | 16 +- .../webgpu_multisampled_renderbuffers.jpg | Bin 0 -> 157631 bytes .../webgpu_multisampled_renderbuffers.html | 189 ++++++++++++++++ 6 files changed, 411 insertions(+), 18 deletions(-) create mode 100644 examples/screenshots/webgpu_multisampled_renderbuffers.jpg create mode 100644 examples/webgpu_multisampled_renderbuffers.html diff --git a/examples/files.json b/examples/files.json index 63efedff6746fe..b4ae6c8f455148 100644 --- a/examples/files.json +++ b/examples/files.json @@ -365,7 +365,8 @@ "webgpu_tsl_editor", "webgpu_tsl_transpiler", "webgpu_video_panorama", - "webgpu_postprocessing_afterimage" + "webgpu_postprocessing_afterimage", + "webgpu_multisampled_renderbuffers" ], "webaudio": [ "webaudio_orientation", diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 7dc0c3c404b944..f72ec4c3d70f80 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -66,7 +66,6 @@ class WebGLBackend extends Backend { // - renderContextData.previousContext = this._currentContext; this._currentContext = renderContext; this._setFramebuffer( renderContext ); @@ -74,7 +73,6 @@ class WebGLBackend extends Backend { this.clear( renderContext.clearColor, renderContext.clearDepth, renderContext.clearStencil, renderContext ); // - if ( renderContext.viewport ) { this.updateViewport( renderContext ); @@ -105,12 +103,51 @@ class WebGLBackend extends Backend { finishRender( renderContext ) { + const { gl } = this; const renderContextData = this.get( renderContext ); - const previousContext = renderContextData.previousContext; - this._currentContext = previousContext; + if ( renderContext.textures !== null && renderContext.renderTarget ) { + + const renderTargetContextData = this.get( renderContext.renderTarget ); + + const { samples, stencilBuffer } = renderContext.renderTarget; + const fb = renderTargetContextData.framebuffer; + + if ( samples > 0 ) { + + const invalidationArray = []; + const depthStyle = stencilBuffer ? gl.DEPTH_STENCIL_ATTACHMENT : gl.DEPTH_ATTACHMENT; + + invalidationArray.push( gl.COLOR_ATTACHMENT0 ); + + if ( renderTargetContextData.depthBuffer ) { + + invalidationArray.push( depthStyle ); + + } + + // TODO For loop support MRT + const msaaFrameBuffer = renderTargetContextData.msaaFrameBuffer; + + gl.bindFramebuffer( gl.READ_FRAMEBUFFER, msaaFrameBuffer ); + gl.bindFramebuffer( gl.DRAW_FRAMEBUFFER, fb ); + - if ( previousContext !== null ) { + gl.blitFramebuffer( 0, 0, renderContext.width, renderContext.height, 0, 0, renderContext.width, renderContext.height, gl.COLOR_BUFFER_BIT, gl.NEAREST ); + + gl.invalidateFramebuffer( gl.READ_FRAMEBUFFER, invalidationArray ); + + } + + + } + + + this._currentContext = renderContext; + + const previousContext = renderContextData.previousContext; + + if ( renderContext !== null && previousContext !== undefined ) { this._setFramebuffer( previousContext ); @@ -120,7 +157,6 @@ class WebGLBackend extends Backend { } else { - const gl = this.gl; gl.viewport( 0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight ); @@ -146,6 +182,8 @@ class WebGLBackend extends Backend { } + renderContextData.previousContext = renderContext; + } resolveOccludedAsync( renderContext ) { @@ -488,7 +526,7 @@ class WebGLBackend extends Backend { gl.texParameteri( glTextureType, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); gl.texParameteri( glTextureType, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); - //gl.texImage2D( target + i, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data ); + // gl.texImage2D( glTextureType, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data ); defaultTextures[ glTextureType ] = textureGPU; @@ -523,8 +561,6 @@ class WebGLBackend extends Backend { textureUtils.setTextureParameters( glTextureType, texture ); - gl.bindTexture( glTextureType, textureGPU ); - if ( texture.isDataArrayTexture ) { gl.texStorage3D( gl.TEXTURE_2D_ARRAY, levels, glInternalFormat, width, height, depth ); @@ -614,10 +650,104 @@ class WebGLBackend extends Backend { } + // Setup storage for internal depth/stencil buffers and bind to correct framebuffer + setupRenderBufferStorage( renderbuffer, renderTarget ) { + + const { gl } = this; + + const { samples, depthBuffer, stencilBuffer } = renderTarget; + + gl.bindRenderbuffer( gl.RENDERBUFFER, renderbuffer ); + + if ( depthBuffer && ! stencilBuffer ) { + + let glInternalFormat = gl.DEPTH_COMPONENT24; + + if ( samples > 0 ) { + + const depthTexture = renderTarget.depthTexture; + + if ( depthTexture && depthTexture.isDepthTexture ) { + + if ( depthTexture.type === gl.FLOAT ) { + + glInternalFormat = gl.DEPTH_COMPONENT32F; + + } else if ( depthTexture.type === gl.UNSIGNED_INT ) { + + glInternalFormat = gl.DEPTH_COMPONENT24; + + } + + } + + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + } else { + + gl.renderbufferStorage( gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height ); + + } + + gl.framebufferRenderbuffer( gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, renderbuffer ); + + } else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) { + + if ( samples > 0 ) { + + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height ); + + } else { + + gl.renderbufferStorage( gl.RENDERBUFFER, gl.DEPTH_STENCIL, renderTarget.width, renderTarget.height ); + + } + + + gl.framebufferRenderbuffer( gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, renderbuffer ); + + } else { + + const textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [ renderTarget.texture ]; + + for ( let i = 0; i < textures.length; i ++ ) { + + const texture = textures[ i ]; + const { glInternalFormat } = this.get( texture ); + + if ( samples > 0 ) { + + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + } else { + + gl.renderbufferStorage( gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height ); + + } + + } + + } + + gl.bindRenderbuffer( gl.RENDERBUFFER, null ); + + } + + destroyTexture( texture ) { const { gl } = this; - const { textureGPU } = this.get( texture ); + const { textureGPU, renderTarget } = this.get( texture ); + + // remove framebuffer reference + if ( renderTarget ) { + + const renderContextData = this.get( renderTarget ); + renderContextData.framebuffer = undefined; + renderContextData.msaaFrameBuffer = undefined; + renderContextData.depthRenderbuffer = undefined; + + } gl.deleteTexture( textureGPU ); @@ -957,8 +1087,12 @@ class WebGLBackend extends Backend { if ( renderContext.textures !== null ) { const renderContextData = this.get( renderContext.renderTarget ); + const { samples } = renderContext.renderTarget; let fb = renderContextData.framebuffer; + let msaaFb = renderContextData.msaaFrameBuffer; + let depthRenderbuffer = renderContextData.depthRenderbuffer; + if ( fb === undefined ) { @@ -973,11 +1107,12 @@ class WebGLBackend extends Backend { for ( let i = 0; i < textures.length; i ++ ) { const texture = textures[ i ]; - const { textureGPU } = this.get( texture ); + const textureData = this.get( texture ); + textureData.renderTarget = renderContext.renderTarget; const attachment = gl.COLOR_ATTACHMENT0 + i; - gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0 + i, gl.TEXTURE_2D, textureGPU, 0 ); + gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0 + i, gl.TEXTURE_2D, textureData.textureGPU, 0 ); drawBuffers.push( attachment ); @@ -987,20 +1122,61 @@ class WebGLBackend extends Backend { if ( renderContext.depthTexture !== null ) { - const { textureGPU } = this.get( renderContext.depthTexture ); + const textureData = this.get( renderContext.depthTexture ); + + gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, textureData.textureGPU, 0 ); + + } + + + if ( msaaFb === undefined && samples > 0 ) { + + msaaFb = gl.createFramebuffer(); + + gl.bindFramebuffer( gl.FRAMEBUFFER, msaaFb ); + + // TODO For loop support MRT + const msaaRenderbuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer( gl.RENDERBUFFER, msaaRenderbuffer ); + + const texture = renderContext.textures[ 0 ]; + const textureData = this.get( texture ); + + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, textureData.glInternalFormat, renderContext.width, renderContext.height ); + gl.framebufferRenderbuffer( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, msaaRenderbuffer ); - gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, textureGPU, 0 ); + renderContextData.msaaRenderbuffer = msaaRenderbuffer; + renderContextData.msaaFrameBuffer = msaaFb; } + if ( depthRenderbuffer === undefined ) { + + depthRenderbuffer = gl.createRenderbuffer(); + this.setupRenderBufferStorage( depthRenderbuffer, renderContext.renderTarget ); + + renderContextData.depthRenderbuffer = depthRenderbuffer; + + } + + renderContextData.framebuffer = fb; } else { - gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); + if ( samples > 0 ) { + + gl.bindFramebuffer( gl.FRAMEBUFFER, renderContextData.msaaFrameBuffer ); + + } else { + + gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); + + } } + } else { gl.bindFramebuffer( gl.FRAMEBUFFER, null ); diff --git a/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js b/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js index c410d4ce5801af..27e0fe0a83260c 100644 --- a/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +++ b/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js @@ -102,7 +102,20 @@ class WebGPUPipelineUtils { const primitiveState = this._getPrimitiveState( object, geometry, material ); const depthCompare = this._getDepthCompare( material ); const depthStencilFormat = utils.getCurrentDepthStencilFormat( renderObject.context ); - const sampleCount = utils.getSampleCount( renderObject.context ); + let sampleCount = utils.getSampleCount( renderObject.context ); + + if ( sampleCount > 1 ) { + + // WebGPU only supports power-of-two sample counts and 2 is not a valid value + sampleCount = Math.pow( 2, Math.floor( Math.log2( sampleCount ) ) ); + + if ( sampleCount === 2 ) { + + sampleCount = 4; + + } + + } pipelineData.pipeline = device.createRenderPipeline( { vertex: Object.assign( {}, vertexModule, { buffers: vertexBuffers } ), diff --git a/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js b/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js index 14f651b190bc30..8fa8bcd71f1daf 100644 --- a/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +++ b/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js @@ -113,7 +113,21 @@ class WebGPUTextureUtils { const dimension = this._getDimension( texture ); const format = texture.internalFormat || getFormat( texture, backend.device ); - const sampleCount = options.sampleCount !== undefined ? options.sampleCount : 1; + let sampleCount = options.sampleCount !== undefined ? options.sampleCount : 1; + + if ( sampleCount > 1 ) { + + // WebGPU only supports power-of-two sample counts and 2 is not a valid value + sampleCount = Math.pow( 2, Math.floor( Math.log2( sampleCount ) ) ); + + if ( sampleCount === 2 ) { + + sampleCount = 4; + + } + + } + const primarySampleCount = texture.isRenderTargetTexture ? 1 : sampleCount; let usage = GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.COPY_SRC; diff --git a/examples/screenshots/webgpu_multisampled_renderbuffers.jpg b/examples/screenshots/webgpu_multisampled_renderbuffers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0b4ae00ba56b23ffa791e8031dc893fa41af4b6 GIT binary patch literal 157631 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 literal 0 HcmV?d00001 diff --git a/examples/webgpu_multisampled_renderbuffers.html b/examples/webgpu_multisampled_renderbuffers.html new file mode 100644 index 00000000000000..96ec0a92ca693d --- /dev/null +++ b/examples/webgpu_multisampled_renderbuffers.html @@ -0,0 +1,189 @@ + + + three.js - WebGPU - Multisampled Renderbuffers + + + + + + + + + + + + + From 560408cfcc0681d39e9566bb7d7a789e0fc6d4f8 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sun, 31 Dec 2023 23:39:55 +0900 Subject: [PATCH 03/15] fix depth samples === 0 --- examples/jsm/renderers/webgl/WebGLBackend.js | 11 +++++------ test/e2e/puppeteer.js | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index f72ec4c3d70f80..7802d31842b133 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -1148,18 +1148,17 @@ class WebGLBackend extends Backend { renderContextData.msaaRenderbuffer = msaaRenderbuffer; renderContextData.msaaFrameBuffer = msaaFb; - } + if ( depthRenderbuffer === undefined ) { - if ( depthRenderbuffer === undefined ) { + depthRenderbuffer = gl.createRenderbuffer(); + this.setupRenderBufferStorage( depthRenderbuffer, renderContext.renderTarget ); - depthRenderbuffer = gl.createRenderbuffer(); - this.setupRenderBufferStorage( depthRenderbuffer, renderContext.renderTarget ); + renderContextData.depthRenderbuffer = depthRenderbuffer; - renderContextData.depthRenderbuffer = depthRenderbuffer; + } } - renderContextData.framebuffer = fb; } else { diff --git a/test/e2e/puppeteer.js b/test/e2e/puppeteer.js index 85ec3f765e8a2b..d45d0b0f18f5e8 100644 --- a/test/e2e/puppeteer.js +++ b/test/e2e/puppeteer.js @@ -128,6 +128,7 @@ const exceptionList = [ 'webgpu_sprites', 'webgpu_video_panorama', 'webgpu_postprocessing_afterimage', + 'webgpu_multisampled_renderbuffers', // WebGPURenderer: Unknown problem 'webgpu_backdrop_water', From 0a9b83ce4ea0b0a9dcf21ee073e4388165e2e581 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sun, 31 Dec 2023 23:43:53 +0900 Subject: [PATCH 04/15] cleanup --- examples/jsm/renderers/webgl/WebGLBackend.js | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 7802d31842b133..216cd9acc1fa42 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -651,11 +651,12 @@ class WebGLBackend extends Backend { } // Setup storage for internal depth/stencil buffers and bind to correct framebuffer - setupRenderBufferStorage( renderbuffer, renderTarget ) { + setupRenderBufferStorage( renderbuffer, renderContext ) { const { gl } = this; + const renderTarget = renderContext.renderTarget; - const { samples, depthBuffer, stencilBuffer } = renderTarget; + const { samples, depthTexture, depthBuffer, stencilBuffer, width, height } = renderTarget; gl.bindRenderbuffer( gl.RENDERBUFFER, renderbuffer ); @@ -665,7 +666,6 @@ class WebGLBackend extends Backend { if ( samples > 0 ) { - const depthTexture = renderTarget.depthTexture; if ( depthTexture && depthTexture.isDepthTexture ) { @@ -681,25 +681,25 @@ class WebGLBackend extends Backend { } - gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, glInternalFormat, width, height ); } else { - gl.renderbufferStorage( gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height ); + gl.renderbufferStorage( gl.RENDERBUFFER, glInternalFormat, width, height ); } gl.framebufferRenderbuffer( gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, renderbuffer ); - } else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) { + } else if ( depthBuffer && stencilBuffer ) { if ( samples > 0 ) { - gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height ); + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, gl.DEPTH24_STENCIL8, width, height ); } else { - gl.renderbufferStorage( gl.RENDERBUFFER, gl.DEPTH_STENCIL, renderTarget.width, renderTarget.height ); + gl.renderbufferStorage( gl.RENDERBUFFER, gl.DEPTH_STENCIL, width, height ); } @@ -708,7 +708,7 @@ class WebGLBackend extends Backend { } else { - const textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [ renderTarget.texture ]; + const textures = renderContext.textures; for ( let i = 0; i < textures.length; i ++ ) { @@ -717,11 +717,11 @@ class WebGLBackend extends Backend { if ( samples > 0 ) { - gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, glInternalFormat, width, height ); } else { - gl.renderbufferStorage( gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height ); + gl.renderbufferStorage( gl.RENDERBUFFER, glInternalFormat, width, height ); } @@ -1151,7 +1151,7 @@ class WebGLBackend extends Backend { if ( depthRenderbuffer === undefined ) { depthRenderbuffer = gl.createRenderbuffer(); - this.setupRenderBufferStorage( depthRenderbuffer, renderContext.renderTarget ); + this.setupRenderBufferStorage( depthRenderbuffer, renderContext ); renderContextData.depthRenderbuffer = depthRenderbuffer; From 92853231769981784d0eb374fe4ab3f898784e33 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Sun, 31 Dec 2023 23:51:53 +0900 Subject: [PATCH 05/15] more cleanup --- examples/jsm/renderers/webgl/WebGLBackend.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 216cd9acc1fa42..67e8532194ca46 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -147,7 +147,7 @@ class WebGLBackend extends Backend { const previousContext = renderContextData.previousContext; - if ( renderContext !== null && previousContext !== undefined ) { + if ( previousContext !== undefined ) { this._setFramebuffer( previousContext ); @@ -673,10 +673,6 @@ class WebGLBackend extends Backend { glInternalFormat = gl.DEPTH_COMPONENT32F; - } else if ( depthTexture.type === gl.UNSIGNED_INT ) { - - glInternalFormat = gl.DEPTH_COMPONENT24; - } } From c9d6ef03abb87a6fcb36eeb3e7c0634fefcc74f8 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 19:53:04 +0900 Subject: [PATCH 06/15] more cleanup to the webgl pipeline --- examples/jsm/nodes/display/AfterImageNode.js | 3 + .../jsm/nodes/display/GaussianBlurNode.js | 2 + examples/jsm/renderers/webgl/WebGLBackend.js | 57 ++++++----- .../jsm/renderers/webgl/utils/WebGLState.js | 95 +++++++++++++++++++ .../webgl/utils/WebGLTextureUtils.js | 2 - .../renderers/webgpu/nodes/WGSLNodeBuilder.js | 8 +- 6 files changed, 133 insertions(+), 34 deletions(-) diff --git a/examples/jsm/nodes/display/AfterImageNode.js b/examples/jsm/nodes/display/AfterImageNode.js index c3c3169e1ccc81..8c5a2704cece9b 100644 --- a/examples/jsm/nodes/display/AfterImageNode.js +++ b/examples/jsm/nodes/display/AfterImageNode.js @@ -21,7 +21,10 @@ class AfterImageNode extends TempNode { this.damp = uniform( damp ); this._compRT = new RenderTarget(); + this._compRT.texture.name = 'AfterImageNode.comp'; + this._oldRT = new RenderTarget(); + this._oldRT.texture.name = 'AfterImageNode.old'; this.updateBeforeType = NodeUpdateType.RENDER; diff --git a/examples/jsm/nodes/display/GaussianBlurNode.js b/examples/jsm/nodes/display/GaussianBlurNode.js index f2c4153af92e5e..ef7c7f5e24c9c5 100644 --- a/examples/jsm/nodes/display/GaussianBlurNode.js +++ b/examples/jsm/nodes/display/GaussianBlurNode.js @@ -29,7 +29,9 @@ class GaussianBlurNode extends TempNode { this._passDirection = uniform( new Vector2() ); this._horizontalRT = new RenderTarget(); + this._horizontalRT.texture.name = 'GaussianBlurNode.horizontal'; this._verticalRT = new RenderTarget(); + this._verticalRT.texture.name = 'GaussianBlurNode.vertical'; this.updateBeforeType = NodeUpdateType.RENDER; diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 01014377d13e11..2572b2baa52e56 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -885,28 +885,29 @@ class WebGLBackend extends Backend { _setFramebuffer( renderContext ) { - const { gl } = this; + const { gl, state } = this; + + let fb = null; + let currentFrameBuffer = null; if ( renderContext.textures !== null ) { - const renderContextData = this.get( renderContext.renderTarget ); + const renderTargetContextData = this.get( renderContext.renderTarget ); const { samples } = renderContext.renderTarget; - let fb = renderContextData.framebuffer; - let msaaFb = renderContextData.msaaFrameBuffer; - let depthRenderbuffer = renderContextData.depthRenderbuffer; + fb = renderTargetContextData.framebuffer; + let msaaFb = renderTargetContextData.msaaFrameBuffer; + let depthRenderbuffer = renderTargetContextData.depthRenderbuffer; if ( fb === undefined ) { fb = gl.createFramebuffer(); - gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); + state.bindFramebuffer( gl.FRAMEBUFFER, fb ); const textures = renderContext.textures; - const drawBuffers = []; - for ( let i = 0; i < textures.length; i ++ ) { const texture = textures[ i ]; @@ -915,14 +916,11 @@ class WebGLBackend extends Backend { const attachment = gl.COLOR_ATTACHMENT0 + i; - gl.framebufferTexture2D( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0 + i, gl.TEXTURE_2D, textureData.textureGPU, 0 ); - drawBuffers.push( attachment ); + gl.framebufferTexture2D( gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, textureData.textureGPU, 0 ); } - gl.drawBuffers( drawBuffers ); - if ( renderContext.depthTexture !== null ) { const textureData = this.get( renderContext.depthTexture ); @@ -932,11 +930,17 @@ class WebGLBackend extends Backend { } - if ( msaaFb === undefined && samples > 0 ) { + renderTargetContextData.framebuffer = fb; + + } + + if ( samples > 0 ) { + + if ( msaaFb === undefined ) { msaaFb = gl.createFramebuffer(); - gl.bindFramebuffer( gl.FRAMEBUFFER, msaaFb ); + state.bindFramebuffer( gl.FRAMEBUFFER, msaaFb ); // TODO For loop support MRT const msaaRenderbuffer = gl.createRenderbuffer(); @@ -948,40 +952,35 @@ class WebGLBackend extends Backend { gl.renderbufferStorageMultisample( gl.RENDERBUFFER, samples, textureData.glInternalFormat, renderContext.width, renderContext.height ); gl.framebufferRenderbuffer( gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, msaaRenderbuffer ); - renderContextData.msaaRenderbuffer = msaaRenderbuffer; - renderContextData.msaaFrameBuffer = msaaFb; + renderTargetContextData.msaaRenderbuffer = msaaRenderbuffer; + renderTargetContextData.msaaFrameBuffer = msaaFb; if ( depthRenderbuffer === undefined ) { depthRenderbuffer = gl.createRenderbuffer(); this.textureUtils.setupRenderBufferStorage( depthRenderbuffer, renderContext ); - renderContextData.depthRenderbuffer = depthRenderbuffer; + renderTargetContextData.depthRenderbuffer = depthRenderbuffer; } } - renderContextData.framebuffer = fb; + currentFrameBuffer = renderTargetContextData.msaaFrameBuffer; } else { - if ( samples > 0 ) { - - gl.bindFramebuffer( gl.FRAMEBUFFER, renderContextData.msaaFrameBuffer ); - - } else { - - gl.bindFramebuffer( gl.FRAMEBUFFER, fb ); - - } + currentFrameBuffer = fb; } + } - } else { + const framebufferBound = state.bindFramebuffer( gl.FRAMEBUFFER, currentFrameBuffer ); + + if ( framebufferBound && currentFrameBuffer ) { - gl.bindFramebuffer( gl.FRAMEBUFFER, null ); + state.drawBuffers( renderContext, currentFrameBuffer ); } diff --git a/examples/jsm/renderers/webgl/utils/WebGLState.js b/examples/jsm/renderers/webgl/utils/WebGLState.js index efdfc7e84bd1fb..ba05cf8028abe0 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLState.js +++ b/examples/jsm/renderers/webgl/utils/WebGLState.js @@ -42,6 +42,9 @@ class WebGLState { this.currentStencilMask = null; this.currentLineWidth = null; + this.currentBoundFramebuffers = {}; + this.currentDrawbuffers = new WeakMap(); + if ( initialized === false ) { this._init( this.gl ); @@ -551,6 +554,98 @@ class WebGLState { } + // framebuffer + + + bindFramebuffer( target, framebuffer ) { + + const { gl, currentBoundFramebuffers } = this; + + if ( currentBoundFramebuffers[ target ] !== framebuffer ) { + + gl.bindFramebuffer( target, framebuffer ); + + currentBoundFramebuffers[ target ] = framebuffer; + + // gl.DRAW_FRAMEBUFFER is equivalent to gl.FRAMEBUFFER + + if ( target === gl.DRAW_FRAMEBUFFER ) { + + currentBoundFramebuffers[ gl.FRAMEBUFFER ] = framebuffer; + + } + + if ( target === gl.FRAMEBUFFER ) { + + currentBoundFramebuffers[ gl.DRAW_FRAMEBUFFER ] = framebuffer; + + } + + return true; + + } + + return false; + + } + + drawBuffers( renderContext, framebuffer ) { + + const { gl } = this; + + let drawBuffers = []; + + let needsUpdate = false; + + if ( renderContext.textures !== null ) { + + drawBuffers = this.currentDrawbuffers.get( framebuffer ); + + if ( drawBuffers === undefined ) { + + drawBuffers = []; + this.currentDrawbuffers.set( framebuffer, drawBuffers ); + + } + + + const textures = renderContext.textures; + + if ( drawBuffers.length !== textures.length || drawBuffers[ 0 ] !== gl.COLOR_ATTACHMENT0 ) { + + for ( let i = 0, il = textures.length; i < il; i ++ ) { + + drawBuffers[ i ] = gl.COLOR_ATTACHMENT0 + i; + + } + + drawBuffers.length = textures.length; + + needsUpdate = true; + + } + + + } else { + + if ( drawBuffers[ 0 ] !== gl.BACK ) { + + drawBuffers[ 0 ] = gl.BACK; + + needsUpdate = true; + + } + + } + + if ( needsUpdate ) { + + gl.drawBuffers( drawBuffers ); + + } + + + } } diff --git a/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js b/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js index c0218432a0e9e3..7ef3e25ed03888 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +++ b/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js @@ -264,8 +264,6 @@ class WebGLTextureUtils { this.setTextureParameters( glTextureType, texture ); - gl.bindTexture( glTextureType, textureGPU ); - if ( texture.isDataArrayTexture ) { gl.texStorage3D( gl.TEXTURE_2D_ARRAY, levels, glInternalFormat, width, height, depth ); diff --git a/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js b/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js index f435b6446efda8..912f29a11e76cb 100644 --- a/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +++ b/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js @@ -15,10 +15,12 @@ import { getFormat } from '../utils/WebGPUTextureUtils.js'; import WGSLNodeParser from './WGSLNodeParser.js'; +const GPUShaderStage = window.GPUShaderStage; + const gpuShaderStageLib = { - 'vertex': GPUShaderStage.VERTEX, - 'fragment': GPUShaderStage.FRAGMENT, - 'compute': GPUShaderStage.COMPUTE + 'vertex': GPUShaderStage ? GPUShaderStage.VERTEX : 1, + 'fragment': GPUShaderStage ? GPUShaderStage.FRAGMENT : 2, + 'compute': GPUShaderStage ? GPUShaderStage.COMPUTE : 4 }; const supports = { From 0c208a3783b81f71307547552902bb6db8f41377 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 20:28:33 +0900 Subject: [PATCH 07/15] postprocessing support --- examples/jsm/renderers/webgl/WebGLBackend.js | 44 +++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 2572b2baa52e56..15955bb6b56835 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -71,6 +71,9 @@ class WebGLBackend extends Backend { // + // + + renderContextData.previousContext = this._currentContext; this._currentContext = renderContext; this._setFramebuffer( renderContext ); @@ -110,6 +113,27 @@ class WebGLBackend extends Backend { const { gl } = this; const renderContextData = this.get( renderContext ); + const previousContext = renderContextData.previousContext; + + this._currentContext = previousContext; + + if ( previousContext !== null ) { + + this._setFramebuffer( previousContext ); + + if ( previousContext.viewport ) { + + this.updateViewport( previousContext ); + + } else { + + const gl = this.gl; + + gl.viewport( 0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight ); + + } + + } if ( renderContext.textures !== null && renderContext.renderTarget ) { @@ -150,25 +174,6 @@ class WebGLBackend extends Backend { this._currentContext = renderContext; - const previousContext = renderContextData.previousContext; - - if ( previousContext !== undefined ) { - - this._setFramebuffer( previousContext ); - - if ( previousContext.viewport ) { - - this.updateViewport( previousContext ); - - } else { - - - gl.viewport( 0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight ); - - } - - } - const occlusionQueryCount = renderContext.occlusionQueryCount; if ( occlusionQueryCount > 0 ) { @@ -187,7 +192,6 @@ class WebGLBackend extends Backend { } - renderContextData.previousContext = renderContext; } From 8545903d11ee907b46d6a92a9e351c91168c2e92 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 20:36:01 +0900 Subject: [PATCH 08/15] fix msaa --- examples/jsm/renderers/webgl/WebGLBackend.js | 35 ++++++++++---------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 15955bb6b56835..af540dc19157b6 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -117,23 +117,6 @@ class WebGLBackend extends Backend { this._currentContext = previousContext; - if ( previousContext !== null ) { - - this._setFramebuffer( previousContext ); - - if ( previousContext.viewport ) { - - this.updateViewport( previousContext ); - - } else { - - const gl = this.gl; - - gl.viewport( 0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight ); - - } - - } if ( renderContext.textures !== null && renderContext.renderTarget ) { @@ -171,6 +154,24 @@ class WebGLBackend extends Backend { } + if ( previousContext !== null ) { + + this._setFramebuffer( previousContext ); + + if ( previousContext.viewport ) { + + this.updateViewport( previousContext ); + + } else { + + const gl = this.gl; + + gl.viewport( 0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight ); + + } + + } + this._currentContext = renderContext; From db122d6a7270efd519cec4806f9ed008ea7fda8b Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 20:40:27 +0900 Subject: [PATCH 09/15] fix example afterimage --- examples/webgpu_postprocessing_afterimage.html | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/examples/webgpu_postprocessing_afterimage.html b/examples/webgpu_postprocessing_afterimage.html index b9ec35c76981da..d833ecaf5e9d1b 100644 --- a/examples/webgpu_postprocessing_afterimage.html +++ b/examples/webgpu_postprocessing_afterimage.html @@ -23,7 +23,6 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; - import WebGPU from 'three/addons/capabilities/WebGPU.js'; import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js'; import PostProcessing from 'three/addons/renderers/common/PostProcessing.js'; import { pass } from 'three/nodes'; @@ -43,14 +42,6 @@ function init() { - if ( WebGPU.isAvailable() === false ) { - - document.body.appendChild( WebGPU.getErrorMessage() ); - - throw new Error( 'No WebGPU support' ); - - } - renderer = new WebGPURenderer( { antialias: true } ); renderer.setPixelRatio( window.devicePixelRatio ); renderer.setSize( window.innerWidth, window.innerHeight ); @@ -104,15 +95,8 @@ mesh.rotation.x += 0.0075; mesh.rotation.y += 0.015; - if ( renderer.backend.isWebGPUBackend ) { - postProcessing.render(); - - } else { - - renderer.render( scene, camera ); - - } + postProcessing.render(); } From 127b8be9af17c36735322cc95da7723a4b70629b Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 23:17:10 +0900 Subject: [PATCH 10/15] improved state management and performances --- examples/jsm/renderers/webgl/WebGLBackend.js | 15 ++- .../jsm/renderers/webgl/utils/WebGLState.js | 86 ++++++++++++++++++ .../webgl/utils/WebGLTextureUtils.js | 6 +- .../webgpu_postprocessing_afterimage.jpg | Bin 3413 -> 16432 bytes test/e2e/puppeteer.js | 1 - 5 files changed, 95 insertions(+), 13 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index af540dc19157b6..d61fc9f61a53a0 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -377,8 +377,9 @@ class WebGLBackend extends Backend { } else if ( binding.isSampledTexture ) { - gl.activeTexture( gl.TEXTURE0 + index ); - gl.bindTexture( bindingData.glTextureType, bindingData.textureGPU ); + const textureId = contextData.renderTarget ? gl.TEXTURE0 + index : gl.TEXTURE0 + index; + + state.bindTexture( bindingData.glTextureType, bindingData.textureGPU, textureId ); } @@ -937,6 +938,8 @@ class WebGLBackend extends Backend { renderTargetContextData.framebuffer = fb; + state.drawBuffers( renderContext, fb ); + } if ( samples > 0 ) { @@ -981,13 +984,7 @@ class WebGLBackend extends Backend { } - const framebufferBound = state.bindFramebuffer( gl.FRAMEBUFFER, currentFrameBuffer ); - - if ( framebufferBound && currentFrameBuffer ) { - - state.drawBuffers( renderContext, currentFrameBuffer ); - - } + state.bindFramebuffer( gl.FRAMEBUFFER, currentFrameBuffer ); } diff --git a/examples/jsm/renderers/webgl/utils/WebGLState.js b/examples/jsm/renderers/webgl/utils/WebGLState.js index ba05cf8028abe0..dd75b2fcdcddb4 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLState.js +++ b/examples/jsm/renderers/webgl/utils/WebGLState.js @@ -45,6 +45,10 @@ class WebGLState { this.currentBoundFramebuffers = {}; this.currentDrawbuffers = new WeakMap(); + this.maxTextures = this.gl.getParameter( this.gl.MAX_TEXTURE_IMAGE_UNITS ); + this.currentTextureSlot = null; + this.currentBoundTextures = {}; + if ( initialized === false ) { this._init( this.gl ); @@ -647,6 +651,88 @@ class WebGLState { } + + // texture + + activeTexture( webglSlot ) { + + const { gl, currentTextureSlot, maxTextures } = this; + + if ( webglSlot === undefined ) webglSlot = gl.TEXTURE0 + maxTextures - 1; + + if ( currentTextureSlot !== webglSlot ) { + + gl.activeTexture( webglSlot ); + this.currentTextureSlot = webglSlot; + + } + + } + + bindTexture( webglType, webglTexture, webglSlot ) { + + const { gl, currentTextureSlot, currentBoundTextures, maxTextures, emptyTextures } = this; + + if ( webglSlot === undefined ) { + + if ( currentTextureSlot === null ) { + + webglSlot = gl.TEXTURE0 + maxTextures - 1; + + } else { + + webglSlot = currentTextureSlot; + + } + + } + + let boundTexture = currentBoundTextures[ webglSlot ]; + + if ( boundTexture === undefined ) { + + boundTexture = { type: undefined, texture: undefined }; + currentBoundTextures[ webglSlot ] = boundTexture; + + } + + if ( boundTexture.type !== webglType || boundTexture.texture !== webglTexture ) { + + if ( currentTextureSlot !== webglSlot ) { + + gl.activeTexture( webglSlot ); + this.currentTextureSlot = webglSlot; + + } + + gl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] ); + + boundTexture.type = webglType; + boundTexture.texture = webglTexture; + + + } + + + } + + unbindTexture() { + + const { gl, currentTextureSlot, currentBoundTextures } = this; + + const boundTexture = currentBoundTextures[ currentTextureSlot ]; + + if ( boundTexture !== undefined && boundTexture.type !== undefined ) { + + gl.bindTexture( boundTexture.type, null ); + + boundTexture.type = undefined; + boundTexture.texture = undefined; + + } + + } + } export default WebGLState; diff --git a/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js b/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js index 7ef3e25ed03888..211c16865381e7 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +++ b/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js @@ -225,7 +225,7 @@ class WebGLTextureUtils { textureGPU = gl.createTexture(); - gl.bindTexture( glTextureType, textureGPU ); + backend.state.bindTexture( glTextureType, textureGPU ); gl.texParameteri( glTextureType, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); gl.texParameteri( glTextureType, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); @@ -255,7 +255,7 @@ class WebGLTextureUtils { const textureGPU = gl.createTexture(); const glTextureType = this.getGLTextureType( texture ); - gl.bindTexture( glTextureType, textureGPU ); + backend.state.bindTexture( glTextureType, textureGPU ); gl.pixelStorei( gl.UNPACK_FLIP_Y_WEBGL, texture.flipY ); gl.pixelStorei( gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha ); @@ -309,7 +309,7 @@ class WebGLTextureUtils { }; - gl.bindTexture( glTextureType, textureGPU ); + this.backend.state.bindTexture( glTextureType, textureGPU ); if ( texture.isCompressedTexture ) { diff --git a/examples/screenshots/webgpu_postprocessing_afterimage.jpg b/examples/screenshots/webgpu_postprocessing_afterimage.jpg index 001fe203e0b94e476d12e5c1c76aa979a0fbc77f..bcdcc08185bfb0e6ef3305c041e6dcb00858f47d 100644 GIT binary patch literal 16432 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 diff --git a/test/e2e/puppeteer.js b/test/e2e/puppeteer.js index d45d0b0f18f5e8..8b1101d45c3108 100644 --- a/test/e2e/puppeteer.js +++ b/test/e2e/puppeteer.js @@ -127,7 +127,6 @@ const exceptionList = [ 'webgpu_sandbox', 'webgpu_sprites', 'webgpu_video_panorama', - 'webgpu_postprocessing_afterimage', 'webgpu_multisampled_renderbuffers', // WebGPURenderer: Unknown problem From df527b3cff9e65fe418577faf3d590574667f591 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 23:21:49 +0900 Subject: [PATCH 11/15] generate a new webgl slot for fbos --- examples/jsm/renderers/webgl/WebGLBackend.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index d61fc9f61a53a0..0eeffc3c35c650 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -377,7 +377,7 @@ class WebGLBackend extends Backend { } else if ( binding.isSampledTexture ) { - const textureId = contextData.renderTarget ? gl.TEXTURE0 + index : gl.TEXTURE0 + index; + const textureId = contextData.renderTarget ? undefined : gl.TEXTURE0 + index; state.bindTexture( bindingData.glTextureType, bindingData.textureGPU, textureId ); From 76d682b4cecfedd0b620414063b7dc9ff2e05a27 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Tue, 2 Jan 2024 23:43:49 +0900 Subject: [PATCH 12/15] revert puppeteer --- examples/jsm/renderers/webgl/WebGLBackend.js | 5 ++--- test/e2e/puppeteer.js | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 0eeffc3c35c650..146b1315f004b6 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -377,9 +377,8 @@ class WebGLBackend extends Backend { } else if ( binding.isSampledTexture ) { - const textureId = contextData.renderTarget ? undefined : gl.TEXTURE0 + index; - - state.bindTexture( bindingData.glTextureType, bindingData.textureGPU, textureId ); + // debugger + state.bindTexture( bindingData.glTextureType, bindingData.textureGPU, gl.TEXTURE0 + index ); } diff --git a/test/e2e/puppeteer.js b/test/e2e/puppeteer.js index 8b1101d45c3108..d45d0b0f18f5e8 100644 --- a/test/e2e/puppeteer.js +++ b/test/e2e/puppeteer.js @@ -127,6 +127,7 @@ const exceptionList = [ 'webgpu_sandbox', 'webgpu_sprites', 'webgpu_video_panorama', + 'webgpu_postprocessing_afterimage', 'webgpu_multisampled_renderbuffers', // WebGPURenderer: Unknown problem From b341c46f0ee224189496b4d6c9a6e2f3eaf30061 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Wed, 3 Jan 2024 11:04:49 +0900 Subject: [PATCH 13/15] fix copyFrameBufferToTexture with correct unbinding and cleanup --- examples/jsm/renderers/webgl/WebGLBackend.js | 36 +----------------- .../jsm/renderers/webgl/utils/WebGLState.js | 4 +- .../webgl/utils/WebGLTextureUtils.js | 38 +++++++++++++++++++ .../renderers/webgpu/nodes/WGSLNodeBuilder.js | 8 ++-- 4 files changed, 44 insertions(+), 42 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 146b1315f004b6..3a65ab16b32eb0 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -377,7 +377,6 @@ class WebGLBackend extends Backend { } else if ( binding.isSampledTexture ) { - // debugger state.bindTexture( bindingData.glTextureType, bindingData.textureGPU, gl.TEXTURE0 + index ); } @@ -851,40 +850,7 @@ class WebGLBackend extends Backend { copyFramebufferToTexture( texture, renderContext ) { - const { gl } = this; - - const { textureGPU } = this.get( texture ); - - const width = texture.image.width; - const height = texture.image.height; - - gl.bindFramebuffer( gl.READ_FRAMEBUFFER, null ); - - if ( texture.isDepthTexture ) { - - const fb = gl.createFramebuffer(); - - gl.bindFramebuffer( gl.DRAW_FRAMEBUFFER, fb ); - - gl.framebufferTexture2D( gl.DRAW_FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, textureGPU, 0 ); - - gl.blitFramebuffer( 0, 0, width, height, 0, 0, width, height, gl.DEPTH_BUFFER_BIT, gl.NEAREST ); - - gl.deleteFramebuffer( fb ); - - - } else { - - gl.bindTexture( gl.TEXTURE_2D, textureGPU ); - gl.copyTexSubImage2D( gl.TEXTURE_2D, 0, 0, 0, 0, 0, width, height ); - - gl.bindTexture( gl.TEXTURE_2D, null ); - - } - - if ( texture.generateMipmaps ) this.generateMipmaps( texture ); - - this._setFramebuffer( renderContext ); + this.textureUtils.copyFramebufferToTexture( texture, renderContext ); } diff --git a/examples/jsm/renderers/webgl/utils/WebGLState.js b/examples/jsm/renderers/webgl/utils/WebGLState.js index dd75b2fcdcddb4..51a2e0d572f0fb 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLState.js +++ b/examples/jsm/renderers/webgl/utils/WebGLState.js @@ -671,7 +671,7 @@ class WebGLState { bindTexture( webglType, webglTexture, webglSlot ) { - const { gl, currentTextureSlot, currentBoundTextures, maxTextures, emptyTextures } = this; + const { gl, currentTextureSlot, currentBoundTextures, maxTextures } = this; if ( webglSlot === undefined ) { @@ -705,7 +705,7 @@ class WebGLState { } - gl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] ); + gl.bindTexture( webglType, webglTexture ); boundTexture.type = webglType; boundTexture.texture = webglTexture; diff --git a/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js b/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js index 211c16865381e7..ee8d7d2f298fd2 100644 --- a/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +++ b/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js @@ -424,7 +424,45 @@ class WebGLTextureUtils { } + copyFramebufferToTexture( texture, renderContext ) { + const { gl } = this; + const { state } = this.backend; + + const { textureGPU } = this.backend.get( texture ); + + const width = texture.image.width; + const height = texture.image.height; + + state.bindFramebuffer( gl.READ_FRAMEBUFFER, null ); + + if ( texture.isDepthTexture ) { + + const fb = gl.createFramebuffer(); + + gl.bindFramebuffer( gl.DRAW_FRAMEBUFFER, fb ); + + gl.framebufferTexture2D( gl.DRAW_FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, textureGPU, 0 ); + + gl.blitFramebuffer( 0, 0, width, height, 0, 0, width, height, gl.DEPTH_BUFFER_BIT, gl.NEAREST ); + + gl.deleteFramebuffer( fb ); + + + } else { + + state.bindTexture( gl.TEXTURE_2D, textureGPU ); + gl.copyTexSubImage2D( gl.TEXTURE_2D, 0, 0, 0, 0, 0, width, height ); + + state.unbindTexture(); + + } + + if ( texture.generateMipmaps ) this.generateMipmaps( texture ); + + this.backend._setFramebuffer( renderContext ); + + } // Setup storage for internal depth/stencil buffers and bind to correct framebuffer setupRenderBufferStorage( renderbuffer, renderContext ) { diff --git a/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js b/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js index 912f29a11e76cb..f435b6446efda8 100644 --- a/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +++ b/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js @@ -15,12 +15,10 @@ import { getFormat } from '../utils/WebGPUTextureUtils.js'; import WGSLNodeParser from './WGSLNodeParser.js'; -const GPUShaderStage = window.GPUShaderStage; - const gpuShaderStageLib = { - 'vertex': GPUShaderStage ? GPUShaderStage.VERTEX : 1, - 'fragment': GPUShaderStage ? GPUShaderStage.FRAGMENT : 2, - 'compute': GPUShaderStage ? GPUShaderStage.COMPUTE : 4 + 'vertex': GPUShaderStage.VERTEX, + 'fragment': GPUShaderStage.FRAGMENT, + 'compute': GPUShaderStage.COMPUTE }; const supports = { From 38a4d50960a6541a9ac8f3ff2de5e08eac8710ea Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Wed, 3 Jan 2024 15:52:47 +0900 Subject: [PATCH 14/15] fix multipass pipeline in webgl backend and enable new demos --- examples/jsm/renderers/webgl/WebGLBackend.js | 9 ++++++- .../renderers/webgpu/nodes/WGSLNodeBuilder.js | 9 ++++--- examples/webgpu_portal.html | 10 -------- examples/webgpu_skinning_instancing.html | 24 +++++++------------ 4 files changed, 22 insertions(+), 30 deletions(-) diff --git a/examples/jsm/renderers/webgl/WebGLBackend.js b/examples/jsm/renderers/webgl/WebGLBackend.js index 3a65ab16b32eb0..86190180c0c80b 100644 --- a/examples/jsm/renderers/webgl/WebGLBackend.js +++ b/examples/jsm/renderers/webgl/WebGLBackend.js @@ -355,7 +355,7 @@ class WebGLBackend extends Backend { draw( renderObject, info ) { - const { pipeline, material, context } = renderObject; + const { pipeline, material, context, isRenderObject } = renderObject; const { programGPU, vaoGPU } = this.get( pipeline ); const { gl, state } = this; @@ -364,6 +364,13 @@ class WebGLBackend extends Backend { // + if ( isRenderObject ) { + + // we need to bind the framebuffer per object in multi pass pipeline + this._setFramebuffer( context ); + + } + const bindings = renderObject.getBindings(); for ( const binding of bindings ) { diff --git a/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js b/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js index f435b6446efda8..b3fa44afa69445 100644 --- a/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +++ b/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js @@ -15,10 +15,13 @@ import { getFormat } from '../utils/WebGPUTextureUtils.js'; import WGSLNodeParser from './WGSLNodeParser.js'; +// GPUShaderStage is not defined in browsers not supporting WebGPU +const GPUShaderStage = window.GPUShaderStage; + const gpuShaderStageLib = { - 'vertex': GPUShaderStage.VERTEX, - 'fragment': GPUShaderStage.FRAGMENT, - 'compute': GPUShaderStage.COMPUTE + 'vertex': GPUShaderStage ? GPUShaderStage.VERTEX : 1, + 'fragment': GPUShaderStage ? GPUShaderStage.FRAGMENT : 2, + 'compute': GPUShaderStage ? GPUShaderStage.COMPUTE : 4 }; const supports = { diff --git a/examples/webgpu_portal.html b/examples/webgpu_portal.html index 87adb4129e06b8..0c53672838014d 100644 --- a/examples/webgpu_portal.html +++ b/examples/webgpu_portal.html @@ -29,8 +29,6 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; - import WebGPU from 'three/addons/capabilities/WebGPU.js'; - import WebGPURenderer from 'three/addons/renderers/webgpu/WebGPURenderer.js'; import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -44,14 +42,6 @@ function init() { - if ( WebGPU.isAvailable() === false ) { - - document.body.appendChild( WebGPU.getErrorMessage() ); - - throw new Error( 'No WebGPU support' ); - - } - // sceneMain = new THREE.Scene(); diff --git a/examples/webgpu_skinning_instancing.html b/examples/webgpu_skinning_instancing.html index 0d7ddf28598df9..c36688f615c36a 100644 --- a/examples/webgpu_skinning_instancing.html +++ b/examples/webgpu_skinning_instancing.html @@ -142,19 +142,17 @@ // post processing ( just for WebGPUBackend for now ) - if ( renderer.backend.isWebGPUBackend ) { - const scenePass = pass( scene, camera ); - const scenePassColor = scenePass.getTextureNode(); - const scenePassDepth = scenePass.getDepthNode().remapClamp( .15, .3 ); + const scenePass = pass( scene, camera ); + const scenePassColor = scenePass.getTextureNode(); + const scenePassDepth = scenePass.getDepthNode().remapClamp( .15, .3 ); - const scenePassColorBlurred = scenePassColor.gaussianBlur(); - scenePassColorBlurred.directionNode = scenePassDepth; + const scenePassColorBlurred = scenePassColor.gaussianBlur(); + scenePassColorBlurred.directionNode = scenePassDepth; - postProcessing = new PostProcessing( renderer ); - postProcessing.outputNode = scenePassColorBlurred; + postProcessing = new PostProcessing( renderer ); + postProcessing.outputNode = scenePassColorBlurred; - } // events @@ -177,15 +175,9 @@ if ( mixer ) mixer.update( delta ); - if ( renderer.backend.isWebGPUBackend ) { - - postProcessing.render(); - } else { + postProcessing.render(); - renderer.render( scene, camera ); - - } } From 065b18eab8d67ab77e1c219fbcbe8b51bf2e073d Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Wed, 3 Jan 2024 16:03:06 +0900 Subject: [PATCH 15/15] regenerate screenshot with gaussian blur --- examples/screenshots/webgpu_portal.jpg | Bin 18952 -> 18946 bytes .../webgpu_skinning_instancing.jpg | Bin 43096 -> 42068 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/screenshots/webgpu_portal.jpg b/examples/screenshots/webgpu_portal.jpg index 1b09eeed0f1573fa49d2c7bb4cbac74b9c0ba7d9..7c2e55acde37bdcd527103027d854e73049b4b17 100644 GIT binary patch literal 18946 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 z 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�aWW83-xiU*)<{q)9~r|Dr$5!G>#X|vWKSc3Vna)LJ0qWEaabU^981vE)a~K zkqS&p8JHCal)SxBX&NFkS6-E}dit35H@U8mR*)AX+(CL6s+(6G-Fb!2%^S*)j zcItANd5HwNdA*|w3RSI-jf1W+NGw#>t?~TGZZF=_1C-HfY9yz^NmRobCQsvjIuZdnJ3l_3WidJ1@ z<26+)Z1!BY+tu6N-9OW|?vjGW_Xa51&9LYVQ(pp?9;538R=F1-B<3Iz!PFPV=mqXY zI*2eN01r=q92EjTydm*w%#v21!s-Pgu?&G{7~PE-mXPYWOeeajR0 z_DD(X5ICPPskrO;N>`6-qEZUcvdd>34cKg28ZBM0v?3~0c*BFxNzD3LPv)8{FZ6Y( z-MX0h(z>Z)9do^>FW7!O>usx9u~*7#KFgzdi<8yWj_252O=&y))&Y3%1r$2~yT}WG zJ>&pJV37;zA2UeUwSmj(MF&LIfJV^aJsn^t+4ccfc!J2!8LTn~K+b;$8f*vF`Pv3t zH48+F8i3U~FwM_k1)4F10n~lrZEFw*HdmQ}M|-f|*uwR~Z2eNk5@27su~;#K54e-5 zZ3mNs}pu}=^T0k+-Z^~(mWHmO%AwW3fLQSC|0<&ZwlWF zU<8z?9enL@80Z|98yO6@?oDBs0d!>mu$vEV$v_$~z^Gfpdh7UB25DXfec+%JFoScq zU6oxSdSSFXdr<%XCIGB>slEUJ literal 18952 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%0DpEfNRUx6+ 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

FHt!;{q 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

+ three.js WebGPU - Multisampled Renderbuffers +