12345678910111213141516171819202122232425262728 |
- #version 430
- layout (binding = 1) uniform sampler2D worldPositionSamp;
- layout (binding = 2) uniform sampler2D worldNormalSamp;
- layout (binding = 3) uniform sampler2D worldColorSamp;
- layout (binding = 4) uniform sampler2D worldDepthSamp;
- layout (binding = 5) uniform sampler2D noiseSamp;
- layout (binding = 6) uniform sampler2D ssaoSamp;
- in vec2 varTextureCoord;
- out float color;
- void main()
- {
- vec2 texelSize = 1.0 / vec2(textureSize(ssaoSamp, 0));
- float result = 0.0;
- const int radius = 2;
- for(int x = -radius; x < radius; x++)
- {
- for(int y = -radius; y < radius; y++)
- {
- vec2 offset = vec2(float(x), float(y)) * texelSize;
- result += texture(ssaoSamp, varTextureCoord + offset).r;
- }
- }
- result /= (radius * radius * 4);
- color = result;
- }
|