diff --git a/src/Shaders/RaytraceBase.fs b/src/Shaders/RaytraceBase.fs index 8e62c418ba..e5e765b11d 100644 --- a/src/Shaders/RaytraceBase.fs +++ b/src/Shaders/RaytraceBase.fs @@ -951,7 +951,7 @@ vec4 Radiance (in SRay theRay, in vec3 theInverse) else { vec4 aGlColor = ComputeOpenGlColor(); - aColor = vec4 (BackgroundColor().rgb * aGlColor.w + ComputeOpenGlColor().rgb, aGlColor.w); + aColor = vec4 (mix (aGlColor.rgb, BackgroundColor().rgb, aGlColor.w), aGlColor.w); } aResult += aWeight.xyz * aColor.xyz; aWeight.w *= aColor.w; diff --git a/tests/bugs/vis/bug26404 b/tests/bugs/vis/bug26404 index 62f56d955c..81f43a8408 100644 --- a/tests/bugs/vis/bug26404 +++ b/tests/bugs/vis/bug26404 @@ -16,12 +16,12 @@ vdisplay b vfit vraytrace 1 set bug_info_1 [vreadpixel 50 50 rgb name] -if {$bug_info_1 != "GRAY8"} { +if {$bug_info_1 != "GRAY4"} { puts "ERROR: OCC26404 is reproduced. Background color is invalid (case #1)." } vsetgradientbg 255 0 0 0 0 255 1 vsetgradientbg 255 0 0 0 0 255 0 set bug_info_2 [vreadpixel 50 50 rgb name] -if {$bug_info_2 != "GRAY8"} { +if {$bug_info_2 != "GRAY4"} { puts "ERROR: OCC26404 is reproduced. Background color is invalid (case #2)." }