From 17ccec5fdfa73eaa0edd99c9b5aa3a6fe6f431d6 Mon Sep 17 00:00:00 2001 From: zhuxudong Date: Tue, 11 Feb 2025 11:31:12 +0800 Subject: [PATCH] fix: refractionTransmitted need linear space (#2548) --- packages/core/src/shaderlib/pbr/btdf.glsl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/core/src/shaderlib/pbr/btdf.glsl b/packages/core/src/shaderlib/pbr/btdf.glsl index e3a82b273..4f337e4e8 100644 --- a/packages/core/src/shaderlib/pbr/btdf.glsl +++ b/packages/core/src/shaderlib/pbr/btdf.glsl @@ -20,6 +20,9 @@ // Sample the opaque texture to get the transmitted light vec3 refractionTransmitted = texture2D(camera_OpaqueTexture, refractionCoords).rgb; + #ifndef ENGINE_IS_COLORSPACE_GAMMA + refractionTransmitted = gammaToLinear(vec4(refractionTransmitted, 1.0)).rgb; + #endif refractionTransmitted *= material.diffuseColor; // Use specularFGD as an approximation of the fresnel effect