From a9240fee95c97f31173346cb7c7a290106e8d200 Mon Sep 17 00:00:00 2001 From: Mugen87 Date: Fri, 24 Jan 2025 23:51:00 +0100 Subject: [PATCH] Renderer: Use `SRGBColorSpace` for RGBA8 framebuffer target. --- src/renderers/common/Renderer.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/renderers/common/Renderer.js b/src/renderers/common/Renderer.js index aedce9cfd64dad..d619f4cda9542d 100644 --- a/src/renderers/common/Renderer.js +++ b/src/renderers/common/Renderer.js @@ -1139,14 +1139,26 @@ class Renderer { // to improve performance we only want to use HalfFloatType if necessary // HalfFloatType is required when a) tone mapping is configured or b) the backend specifically requests it - const type = ( currentToneMapping !== NoToneMapping || this.backend.needsHalfFloatFrameBufferTarget() ) ? HalfFloatType : UnsignedByteType; + let type, colorSpace; + + if ( currentToneMapping !== NoToneMapping || this.backend.needsHalfFloatFrameBufferTarget() ) { + + type = HalfFloatType; + colorSpace = LinearSRGBColorSpace; + + } else { + + type = UnsignedByteType; + colorSpace = SRGBColorSpace; + + } frameBufferTarget = new RenderTarget( width, height, { depthBuffer: depth, stencilBuffer: stencil, type: type, format: RGBAFormat, - colorSpace: LinearSRGBColorSpace, + colorSpace: colorSpace, generateMipmaps: false, minFilter: LinearFilter, magFilter: LinearFilter,