projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update helpers/location to 'frosted' ui
[carveJwlIkooP6JGAAIwe30JlM.git]
/
shaders
/
depth_compare.glsl
diff --git
a/shaders/depth_compare.glsl
b/shaders/depth_compare.glsl
index 5e02144f17b8a18b8f09b7537a4e1cfa8e006966..c03b8f76e7a7b20a69fa1cba7020a5ba6eba793a 100644
(file)
--- a/
shaders/depth_compare.glsl
+++ b/
shaders/depth_compare.glsl
@@
-1,15
+1,18
@@
uniform sampler2D uTexSceneDepth;
uniform vec3 uInverseRatioDepth;
uniform vec3 uInverseRatioMain;
uniform sampler2D uTexSceneDepth;
uniform vec3 uInverseRatioDepth;
uniform vec3 uInverseRatioMain;
-uniform bool uDepthCompare;
+uniform int uDepthMode;
+uniform float uDitherCutoff;
float linear_depth( float depth, float near, float far ) {
float z = depth * 2.0 - 1.0;
return (2.0 * near * far) / (far + near - z * (far - near));
}
float linear_depth( float depth, float near, float far ) {
float z = depth * 2.0 - 1.0;
return (2.0 * near * far) / (far + near - z * (far - near));
}
-void depth_compare_dither(){
- if( uDepthCompare ){
+void depth_compare_dither()
+{
+ if( uDepthMode == 1 )
+ {
vec2 back_coord = gl_FragCoord.xy * uInverseRatioMain.xy
* uInverseRatioDepth.xy;
float back_depth = texture( uTexSceneDepth, back_coord ).r;
vec2 back_coord = gl_FragCoord.xy * uInverseRatioMain.xy
* uInverseRatioDepth.xy;
float back_depth = texture( uTexSceneDepth, back_coord ).r;
@@
-25,4
+28,12
@@
void depth_compare_dither(){
if( step(0.0,diff)+dither<0.3 )
discard;
}
if( step(0.0,diff)+dither<0.3 )
discard;
}
+
+ if( uDepthMode == 2 )
+ {
+ vec2 ssuv = gl_FragCoord.xy;
+ vec3 vDither = vec3( dot( vec2( 171.0, 231.0 ), ssuv) );
+ float dither = fract( vDither.g / 71.0 );
+ if( dither<uDitherCutoff ) discard;
+ }
}
}