Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-11-07 02:16:46 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-11-07 02:19:14 +0300
commit8af53dbeab8ad692c1a0b4d82b6ac955f0b94a45 (patch)
tree1f5de4fe996e5b378fe4906cf025d94d65b3a7d3 /source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
parent4c8d88b48542e4e54c9ac143f82e085b6dddaff5 (diff)
Workbench: Fix volumetric blending leading to corrupted render results
Use simpler premultiplied blending.
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl')
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
index 5b949a6d952..d2a4c49f7de 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
@@ -200,4 +200,7 @@ void main()
length(ls_vol_isect) / length(ls_ray_dir),
length(vs_ray_dir) * stepLength);
#endif
+
+ /* Convert transmitance to alpha so we can use premul blending. */
+ fragColor.a = 1.0 - fragColor.a;
}