30 lines
No EOL
626 B
Text
30 lines
No EOL
626 B
Text
/* Copyright (c) 2025, Sascha Willems
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
import types;
|
|
|
|
Sampler2D samplerSSAO;
|
|
|
|
[shader("fragment")]
|
|
float4 fragmentMain(VSOutput input)
|
|
{
|
|
const int blurRange = 2;
|
|
int n = 0;
|
|
int2 texDim;
|
|
samplerSSAO.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 += samplerSSAO.Sample(input.UV + offset).r;
|
|
n++;
|
|
}
|
|
}
|
|
return result / (float(n));
|
|
} |