procedural-3d-engine/data/hlsl/deferredshadows/debug.frag
Ben Clayton cce75f1859 Add shaders re-implemented in HLSL
These were written against the shaders at revision eddd724e7.
There have been changes made since then, which will need to be mirrored.

See `data/hlsl/README.md` for the current status of each sample.
2020-05-21 12:58:13 +01:00

26 lines
No EOL
815 B
GLSL

// Copyright 2020 Google LLC
Texture2D texturePosition : register(t1);
SamplerState samplerPosition : register(s1);
Texture2D textureNormal : register(t2);
SamplerState samplerNormal : register(s2);
Texture2D textureAlbedo : register(t3);
SamplerState samplerAlbedo : register(s3);
Texture2DArray textureDepth : register(t5);
SamplerState samplerDepth : register(s5);
float LinearizeDepth(float depth)
{
float n = 0.1; // camera z near
float f = 64.0; // camera z far
float z = depth;
return (2.0 * n) / (f + n - z * (f - n));
}
float4 main([[vk::location(0)]] float3 inUV : TEXCOORD0) : SV_TARGET
{
// Display depth from light's point-of-view
// inUV.w = number of light source
float depth = textureDepth.Sample(samplerDepth, float3(inUV)).r;
return float4((1.0 - LinearizeDepth(depth)).xxx, 0.0);
}