Проверка диапазона

This commit is contained in:
parent 7735037ef7
commit 48e9973a48
1 changed files with 3 additions and 1 deletions

View File

@ -38,6 +38,7 @@ void main()
float sampleDepth; // Значение глубины образца выборки
vec3 samplePos; // Выборка, ориентированная в пространстве вида камеры
vec4 sampleCoord; // Выборка, преобразованная к текстурным координатам
float rangeCheck; // Проверка диапазона
// Проинициализируем значение счетчика и запустим цикл по выборкам
occlusion = 0;
@ -53,7 +54,8 @@ void main()
// Получаем значение глубины по образцу выборки
sampleDepth = (camera.view * vec4(texture(gPosition, sampleCoord.xy).rgb, 1)).z;
occlusion += (sampleDepth >= samplePos.z + ssao.bias ? 1.0 : 0.0);
rangeCheck = smoothstep(0.0, 1.0, ssao.radius / abs(fragPos.z - sampleDepth));
occlusion += (sampleDepth >= samplePos.z + ssao.bias ? 1.0 : 0.0) * rangeCheck;
}
occlusion = 1 - (occlusion / ssao.size);