
struct FragmentInput
{
	@location(2) vUv : vec2<f32>;
};

struct FragmentOutput
{
	@location(0) color : vec4<f32>;
};

@binding(5) @group(1) var depthMap : texture_depth_2d;

@binding(3) @group(1) var texSampler : sampler;


@stage(fragment)
fn main( fIn : FragmentInput ) -> FragmentOutput
{
    let sample : f32 = textureSample( depthMap , texSampler, fIn.vUv );
    let color : vec3<f32> = vec3<f32>( sample, sample, sample );

    var fOut : FragmentOutput;
    fOut.color = vec4<f32>( color, 1.0 );

    return fOut;
}
