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>2019-07-01 20:24:25 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-07-01 21:05:13 +0300
commitc2a762c8e6e529a36b0e8cff5ac9339e084829b4 (patch)
treeafe46211cfa13d2d9472c023d16e8cc4624e6b95 /source/blender/draw/engines
parentdcf520cdad7903acb911a3da2cd62064a79208b5 (diff)
Fix T65771 Eevee: Volume Emission not working if density is zero
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r--source/blender/draw/engines/eevee/shaders/volumetric_integration_frag.glsl4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/volumetric_integration_frag.glsl b/source/blender/draw/engines/eevee/shaders/volumetric_integration_frag.glsl
index e756cafba52..acd1e58ff97 100644
--- a/source/blender/draw/engines/eevee/shaders/volumetric_integration_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/volumetric_integration_frag.glsl
@@ -48,6 +48,10 @@ void main()
float cell_depth = volume_z_to_view_z((float(i) + 1.0) / tex_size.z);
float ray_len = orig_ray_len * cell_depth;
+ /* Emission does not work of there is no extinction because
+ * Tr evaluates to 1.0 leading to Lscat = 0.0. (See T65771) */
+ s_extinction = max(vec3(1e-7) * step(1e-5, Lscat), s_extinction);
+
/* Evaluate Scattering */
float s_len = abs(ray_len - prev_ray_len);
prev_ray_len = ray_len;