Проверка диапазона
This commit is contained in:
		
							parent
							
								
									70c159a9fb
								
							
						
					
					
						commit
						80551e764b
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user