diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-11-01 20:48:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-11-01 20:48:55 +0300 |
commit | cf6e45b5224d16263d7c87411a2ff71ed928410f (patch) | |
tree | 328b2c4cb2df10182048d4f69e145ac8d0a9af57 /source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl | |
parent | cd7e43f29f3b80dd5959423e6ce00be7efcbaec7 (diff) |
Eevee: Fix Black volumetrics.
Was caused by a division by 0.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl b/source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl index af7e0f0d17e..ea402ff3d99 100644 --- a/source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/volumetric_scatter_frag.glsl @@ -39,7 +39,7 @@ void main() vec3 wdir = cameraVec; vec2 phase = texelFetch(volumePhase, volume_cell, 0).rg; - float s_anisotropy = phase.x / phase.y; + float s_anisotropy = phase.x / max(1.0, phase.y); /* Environment : Average color. */ outScattering.rgb += irradiance_volumetric(worldPosition) * s_scattering * phase_function_isotropic(); @@ -78,6 +78,6 @@ void main() /* Catch NaNs */ if (any(isnan(outScattering)) || any(isnan(outTransmittance))) { outScattering = vec4(0.0); - outTransmittance = vec4(0.0); + outTransmittance = vec4(1.0); } } |