diff options
Diffstat (limited to '3rdparty/bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc')
-rw-r--r-- | 3rdparty/bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/3rdparty/bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc b/3rdparty/bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc new file mode 100644 index 00000000000..b6365bdc614 --- /dev/null +++ b/3rdparty/bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc @@ -0,0 +1,26 @@ +/* + * Copyright 2018 Kostas Anagnostou. All rights reserved. + * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause + */ + +#include "bgfx_compute.sh" + +SAMPLER2D(s_texOcclusionDepth, 0); +IMAGE2D_WR(s_texOcclusionDepthOut, r32f, 1); + +uniform vec4 u_inputRTSize; + +NUM_THREADS(16, 16, 1) +void main() +{ + // this shader can be used to both copy a mip over to the output and downscale it. + + ivec2 coord = ivec2(gl_GlobalInvocationID.xy); + + if (all(lessThan(coord.xy, u_inputRTSize.xy) ) ) + { + float maxDepth = texelFetch(s_texOcclusionDepth, coord.xy, 0).x; + + imageStore(s_texOcclusionDepthOut, coord, vec4(maxDepth,0,0,1) ); + } +} |