X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fimpl.c;fp=shaders%2Fimpl.c;h=01e1b84ebd047bc3ffe6aa2554df9161d4808ebd;hb=1a194c3888293733939b2dd944251ae1b6c398ce;hp=0bc64bb9d19dfde3955c2ce1fb22ab3b5d901c1c;hpb=14851c4c820eb07a0db0ec0366a70bdd6518c331;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/impl.c b/shaders/impl.c index 0bc64bb..01e1b84 100644 --- a/shaders/impl.c +++ b/shaders/impl.c @@ -9084,15 +9084,18 @@ struct vg_shader _shader_model_character_view = { "uniform sampler2D uTexSceneDepth;\n" "uniform vec3 uInverseRatioDepth;\n" "uniform vec3 uInverseRatioMain;\n" -"uniform bool uDepthCompare;\n" +"uniform int uDepthMode;\n" +"uniform float uDitherCutoff;\n" "\n" "float linear_depth( float depth, float near, float far ) {\n" " float z = depth * 2.0 - 1.0;\n" " return (2.0 * near * far) / (far + near - z * (far - near)); \n" "}\n" "\n" -"void depth_compare_dither(){\n" -" if( uDepthCompare ){\n" +"void depth_compare_dither()\n" +"{\n" +" if( uDepthMode == 1 )\n" +" {\n" " vec2 back_coord = gl_FragCoord.xy * uInverseRatioMain.xy \n" " * uInverseRatioDepth.xy;\n" " float back_depth = texture( uTexSceneDepth, back_coord ).r;\n" @@ -9108,6 +9111,14 @@ struct vg_shader _shader_model_character_view = { " if( step(0.0,diff)+dither<0.3 )\n" " discard;\n" " }\n" +"\n" +" if( uDepthMode == 2 )\n" +" {\n" +" vec2 ssuv = gl_FragCoord.xy;\n" +" vec3 vDither = vec3( dot( vec2( 171.0, 231.0 ), ssuv) );\n" +" float dither = fract( vDither.g / 71.0 );\n" +" if( dither