Проверка диапазона
This commit is contained in:
		
							parent
							
								
									dbc4f047e7
								
							
						
					
					
						commit
						1dad9de8bf
					
				| @ -38,6 +38,7 @@ void main() | |||||||
|     float sampleDepth; // Значение глубины образца выборки |     float sampleDepth; // Значение глубины образца выборки | ||||||
|     vec3 samplePos; // Выборка, ориентированная в пространстве вида камеры |     vec3 samplePos; // Выборка, ориентированная в пространстве вида камеры | ||||||
|     vec4 sampleCoord; // Выборка, преобразованная к текстурным координатам |     vec4 sampleCoord; // Выборка, преобразованная к текстурным координатам | ||||||
|  |     float rangeCheck; // Проверка диапазона | ||||||
|      |      | ||||||
|     // Проинициализируем значение счетчика и запустим цикл по выборкам |     // Проинициализируем значение счетчика и запустим цикл по выборкам | ||||||
|     occlusion = 0; |     occlusion = 0; | ||||||
| @ -53,7 +54,8 @@ void main() | |||||||
|         // Получаем значение глубины по образцу выборки |         // Получаем значение глубины по образцу выборки | ||||||
|         sampleDepth = (camera.view * vec4(texture(gPosition, sampleCoord.xy).rgb, 1)).z;  |         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); |     occlusion = 1 - (occlusion / ssao.size); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user