vec3 diffuse = texture( uTexMain, aUv ).rgb;
vec3 composite = world_compute_lighting( diffuse, qnorm, aWorldCo, 1.0 );
float dist = distance( aWorldCo, uCamera ) - 0.08;
float opacity = clamp( dist*dist, 0.0, 1.0 );
vec3 diffuse = texture( uTexMain, aUv ).rgb;
vec3 composite = world_compute_lighting( diffuse, qnorm, aWorldCo, 1.0 );
float dist = distance( aWorldCo, uCamera ) - 0.08;
float opacity = clamp( dist*dist, 0.0, 1.0 );
- vec2 back_coord = gl_FragCoord.xy*uInverseRatioMain.xy*uInverseRatioDepth.xy;
- float back_depth = texture( uTexSceneDepth, back_coord ).r;
- float front_depth = gl_FragCoord.z/gl_FragCoord.w;
+ if( uDepthCompare ){
+ vec2 back_coord = gl_FragCoord.xy * uInverseRatioMain.xy
+ * uInverseRatioDepth.xy;
+ float back_depth = texture( uTexSceneDepth, back_coord ).r;
+ float front_depth = gl_FragCoord.z/gl_FragCoord.w;
- back_depth = linear_depth( back_depth, 0.1, 2100.0 );
- float diff = back_depth - front_depth;
+ back_depth = linear_depth( back_depth, 0.1, 2100.0 );
+ float diff = back_depth - front_depth;
- vec2 ssuv = gl_FragCoord.xy;
- vec3 vDither = vec3( dot( vec2( 171.0, 231.0 ), ssuv) );
- float dither = fract( vDither.g / 71.0 ) - 0.5;
+ vec2 ssuv = gl_FragCoord.xy;
+ vec3 vDither = vec3( dot( vec2( 171.0, 231.0 ), ssuv) );
+ float dither = fract( vDither.g / 71.0 ) - 0.5;