bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc
2024-04-18 10:07:40 -07:00

27 lines
635 B
Scala

/*
* Copyright 2018 Kostas Anagnostou. All rights reserved.
* License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
*/
#include "bgfx_compute.sh"
SAMPLER2D(s_texOcclusionDepth, 0);
IMAGE2D_WO(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) );
}
}