Added slang shaders for ssao sample

This commit is contained in:
Sascha Willems 2025-05-19 18:20:23 +02:00
parent 8d50885e92
commit 80ff4a41d2
6 changed files with 261 additions and 0 deletions

View file

@ -0,0 +1,30 @@
/* 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));
}