summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/37-gpudrivenrendering/cs_gdr_copy_z.sc
blob: b6365bdc614a1781cb0cce04421d10222e6d8768 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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) );
	}
}