diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-11-07 02:16:46 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-11-07 02:19:14 +0300 |
commit | 8af53dbeab8ad692c1a0b4d82b6ac955f0b94a45 (patch) | |
tree | 1f5de4fe996e5b378fe4906cf025d94d65b3a7d3 /source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl | |
parent | 4c8d88b48542e4e54c9ac143f82e085b6dddaff5 (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.glsl | 3 |
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; } |