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>2017-07-23 21:33:29 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-07-24 16:36:37 +0300
commit7585c8272201856e8504a93b435d3bed3476b98e (patch)
tree3ff68347e65fe678d5ddb89381e222f1de8a9d1a /source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl
parent85f1b7358abb602b5a6200e2da32e82bfbf4ab65 (diff)
Eevee: Make MinmaxZ compatible with textureArray
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl b/source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl
index f9478f6770e..3d580d0ce39 100644
--- a/source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/effect_minmaxz_frag.glsl
@@ -4,11 +4,20 @@
* Adapted from http://rastergrid.com/blog/2010/10/hierarchical-z-map-based-occlusion-culling/
**/
+#ifdef LAYERED
+uniform sampler2DArray depthBuffer;
+uniform int depthLayer;
+#else
uniform sampler2D depthBuffer;
+#endif
float sampleLowerMip(ivec2 texel)
{
+#ifdef LAYERED
+ return texelFetch(depthBuffer, ivec3(texel, depthLayer), 0).r;
+#else
return texelFetch(depthBuffer, texel, 0).r;
+#endif
}
void minmax(inout float out_val, float in_val)
@@ -23,7 +32,7 @@ void minmax(inout float out_val, float in_val)
void main()
{
ivec2 texelPos = ivec2(gl_FragCoord.xy);
- ivec2 mipsize = textureSize(depthBuffer, 0);
+ ivec2 mipsize = textureSize(depthBuffer, 0).xy;
#ifndef COPY_DEPTH
texelPos *= 2;