procedural-3d-engine/data/hlsl/ssao/blur.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

24 lines
No EOL
611 B
GLSL

// Copyright 2020 Google LLC
Texture2D textureSSAO : register(t0);
SamplerState samplerSSAO : register(s0);
float4 main([[vk::location(0)]] float2 inUV : TEXCOORD0) : SV_TARGET
{
const int blurRange = 2;
int n = 0;
int2 texDim;
textureSSAO.GetDimensions(texDim.x, texDim.y);
float2 texelSize = 1.0 / (float2)texDim;
float result = 0.0;
for (int x = -blurRange; x < blurRange; x++)
{
for (int y = -blurRange; y < blurRange; y++)
{
float2 offset = float2(float(x), float(y)) * texelSize;
result += textureSSAO.Sample(samplerSSAO, inUV + offset).r;
n++;
}
}
return result / (float(n));
}