Проверка диапазона
This commit is contained in:
parent
7735037ef7
commit
48e9973a48
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue