diff options
author | Jeroen Bakker <jeroen@blender.org> | 2022-09-16 15:55:04 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2022-09-16 15:55:04 +0300 |
commit | bf05b998b6ec2aaac072fbd39a3f221af5aeef3d (patch) | |
tree | 56636c567ef056a6fd3141355add72f0350c077c /source/blender/draw/engines/eevee/shaders/volumetric_resolve_comp.glsl | |
parent | 4b326d5a78b63aae7e5a788ef489aa95315456dd (diff) |
Revert "EEVEE: Fix volumetric resolve in large scenes."
This reverts commit 34051fcc12f388375697dcfc6da53e9909058fe1.
Although for normal use this doesn't make a difference. But when working with
huge scenes and volumetrics + NVIDIA it made a work-around not possible anymore.
For the heist production we added a fix on the render-farm (enable GPU workarounds).
{rB34051fcc12f388375697dcfc6da53e9909058fe1} made another work-around not
accessible anymore and it and was requested to revert this change.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/volumetric_resolve_comp.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/volumetric_resolve_comp.glsl | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/volumetric_resolve_comp.glsl b/source/blender/draw/engines/eevee/shaders/volumetric_resolve_comp.glsl deleted file mode 100644 index 2b0139ff923..00000000000 --- a/source/blender/draw/engines/eevee/shaders/volumetric_resolve_comp.glsl +++ /dev/null @@ -1,38 +0,0 @@ - -#pragma BLENDER_REQUIRE(volumetric_lib.glsl) - -/* 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. */ - -uniform sampler2D inSceneDepth; - -layout(local_size_x = 1, local_size_y = 1) in; - -#ifdef TARGET_IMG_FLOAT -layout(binding = 0, rgba32f) uniform image2D target_img; -#else -layout(binding = 0, rgba16f) uniform image2D target_img; -#endif - -void main() -{ - ivec2 co = ivec2(gl_GlobalInvocationID.xy); - vec2 uvs = co / vec2(textureSize(inSceneDepth, 0)); - float scene_depth = texture(inSceneDepth, uvs).r; - - vec3 transmittance, scattering; - volumetric_resolve(uvs, scene_depth, transmittance, scattering); - - /* Approximate volume alpha by using a monochromatic transmittance - * and adding it to the scene alpha. */ - float alpha = dot(transmittance, vec3(1.0 / 3.0)); - - vec4 color0 = vec4(scattering, 1.0 - alpha); - vec4 color1 = vec4(transmittance, alpha); - - vec4 color_in = imageLoad(target_img, co); - vec4 color_out = color0 + color1 * color_in; - imageStore(target_img, co, color_out); -} |