|
@@ -45,19 +45,6 @@ float doAmbientOcclusion(in vec2 tc, in vec3 pos, in vec3 norm){
|
|
|
return max(0.0, dot(norm, v) - m_Bias) * ( 1.0/(1.0 + d) ) * m_Intensity;
|
|
|
}
|
|
|
|
|
|
-vec4 getColor(in float result){
|
|
|
-
|
|
|
- if(m_UseOnlyAo){
|
|
|
- return vec4(result,result,result, 1.0);
|
|
|
- }
|
|
|
- if(m_UseAo){
|
|
|
- return texture2D(m_Texture,texCoord)* vec4(result,result,result, 1.0);
|
|
|
- }else{
|
|
|
- return texture2D(m_Texture,texCoord);
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
vec2 reflection(in vec2 v1,in vec2 v2){
|
|
|
vec2 result= 2.0 * dot(v2, v1) * v2;
|
|
|
result=v1-result;
|
|
@@ -74,7 +61,7 @@ void main(){
|
|
|
vec3 position = getPosition(texCoord);
|
|
|
//optimization, do not calculate AO if depth is 1
|
|
|
if(depthv==1.0){
|
|
|
- gl_FragColor=getColor(1.0);
|
|
|
+ gl_FragColor=vec4(1.0);
|
|
|
return;
|
|
|
}
|
|
|
vec3 normal = getNormal(texCoord);
|
|
@@ -93,12 +80,9 @@ void main(){
|
|
|
ao += doAmbientOcclusion(texCoord + coord2 * 0.50, position, normal);
|
|
|
ao += doAmbientOcclusion(texCoord + coord1.xy * 0.75, position, normal);
|
|
|
ao += doAmbientOcclusion(texCoord + coord2 * 1.00, position, normal);
|
|
|
-
|
|
|
}
|
|
|
ao /= float(iterations) * 4.0;
|
|
|
- result = 1.0-ao;
|
|
|
-
|
|
|
- //gl_FragColor=getColor(result);
|
|
|
+ result = 1.0 - ao;
|
|
|
|
|
|
- gl_FragColor=vec4(result);
|
|
|
+ gl_FragColor=vec4(result);
|
|
|
}
|