diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-07-01 15:43:44 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-07-01 15:44:01 +0300 |
commit | 7a4c99de5a637c87c03151cd671b347590140c17 (patch) | |
tree | 2ada1fd7037c501183faa3951f733c897996f157 /source/blender/draw/engines/eevee/shaders | |
parent | 809f81cc3a821cb708b918e84e856cb6ae765e38 (diff) |
Fix T66292: Alpha Blend transparency glitches with volume
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl | 3 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/volumetric_resolve_frag.glsl | 4 |
2 files changed, 2 insertions, 5 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl index 3a31afc0224..274269846bc 100644 --- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl @@ -915,8 +915,7 @@ void main() # endif # if defined(USE_ALPHA_BLEND) - /* XXX fragile, better use real viewport resolution */ - vec2 uvs = gl_FragCoord.xy / vec2(2 * textureSize(maxzBuffer, 0).xy); + vec2 uvs = gl_FragCoord.xy * volCoordScale.zw; vec3 transmittance, scattering; volumetric_resolve(uvs, gl_FragCoord.z, transmittance, scattering); fragColor.rgb = cl.radiance * transmittance + scattering; diff --git a/source/blender/draw/engines/eevee/shaders/volumetric_resolve_frag.glsl b/source/blender/draw/engines/eevee/shaders/volumetric_resolve_frag.glsl index 757eb59eaa1..1ff7e848c40 100644 --- a/source/blender/draw/engines/eevee/shaders/volumetric_resolve_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/volumetric_resolve_frag.glsl @@ -2,9 +2,7 @@ /* Based on Frosbite Unified Volumetric. * https://www.ea.com/frostbite/news/physically-based-unified-volumetric-rendering-in-frostbite */ -/* Step 4 : Apply final integration on top of the scene color. - * Note that we do the blending ourself instead of relying - * on hardware blending which would require 2 pass. */ +/* Step 4 : Apply final integration on top of the scene color. */ uniform sampler2D inSceneDepth; |