From a5fc4c98abf4723ffe095adca692ef21deaab255 Mon Sep 17 00:00:00 2001 From: hhhhkrx Date: Mon, 10 Feb 2025 16:01:45 +0800 Subject: [PATCH] fix: refractionTransmitted need linear space --- packages/shader-shaderlab/src/shaders/shadingPBR/BTDF.glsl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/shader-shaderlab/src/shaders/shadingPBR/BTDF.glsl b/packages/shader-shaderlab/src/shaders/shadingPBR/BTDF.glsl index 0a6ae4919d..76a80ee168 100644 --- a/packages/shader-shaderlab/src/shaders/shadingPBR/BTDF.glsl +++ b/packages/shader-shaderlab/src/shaders/shadingPBR/BTDF.glsl @@ -23,6 +23,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 *= brdfData.diffuseColor; // Use specularFGD as an approximation of the fresnel effect