Skip to content

Commit 6296123

Browse files
committed
Fix for halftone shader to work on GPUs with less precision.
1 parent 85c9bd4 commit 6296123

6 files changed

Lines changed: 6 additions & 11 deletions

File tree

src/shaders/car.fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ varying vec3 vCubeRay;
1414

1515
void main()
1616
{
17-
if (uHalftone != 0 && mod(gl_FragCoord.x + gl_FragCoord.y + 0.5, 2.0) < 1.0)
17+
if (uHalftone != 0 && mod(mod(gl_FragCoord.x, 2.0)+mod(gl_FragCoord.y, 2.0)+0.5, 2.0) < 1.0)
1818
discard;
1919
vec4 texColor = texture2D(uTex0, vTex);
2020
vec4 envColor = textureCube(uCube, vCubeRay);

src/shaders/car_top.fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ varying vec3 vCubeRay;
1414

1515
void main()
1616
{
17-
if (uHalftone != 0 && mod(gl_FragCoord.x + gl_FragCoord.y + 0.5, 2.0) < 1.0)
17+
if (uHalftone != 0 && mod(mod(gl_FragCoord.x, 2.0)+mod(gl_FragCoord.y, 2.0)+0.5, 2.0) < 1.0)
1818
discard;
1919
vec4 texColor = texture2D( uTex0, vTex );
2020
if (texColor.a < 0.5)

src/shaders/color_tex.fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ varying vec4 vColor;
99

1010
void main()
1111
{
12-
if (uHalftone != 0 && mod(gl_FragCoord.x + gl_FragCoord.y + 0.5, 2.0) < 1.0)
12+
if (uHalftone != 0 && mod(mod(gl_FragCoord.x, 2.0)+mod(gl_FragCoord.y, 2.0)+0.5, 2.0) < 1.0)
1313
discard;
1414
gl_FragColor = texture2D( uTex0, vTex ) * vColor;
1515
if (uAlphaDiscard != 0 && gl_FragColor.a < 0.5)

src/shaders/glass_reflection.fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ varying vec3 vCubeRay;
1414

1515
void main()
1616
{
17-
if (uHalftone != 0 && mod(gl_FragCoord.x + gl_FragCoord.y + 0.5, 2.0) < 1.0)
17+
if (uHalftone != 0 && mod(mod(gl_FragCoord.x, 2.0)+mod(gl_FragCoord.y, 2.0)+0.5, 2.0) < 1.0)
1818
discard;
1919
vec4 texColor = texture2D(uTex0, vTex);
2020
if (texColor.a >= 0.5)

src/shaders/glass_tint.fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ varying vec3 vCubeRay;
99

1010
void main()
1111
{
12-
if (uHalftone != 0 && mod(gl_FragCoord.x + gl_FragCoord.y + 0.5, 2.0) < 1.0)
12+
if (uHalftone != 0 && mod(mod(gl_FragCoord.x, 2.0)+mod(gl_FragCoord.y, 2.0)+0.5, 2.0) < 1.0)
1313
discard;
1414
vec4 texColor = texture2D( uTex0, vTex );
1515
if (texColor.a >= 0.5)

src/shaders/light_tex.fs.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,20 @@ varying vec3 vNormal;
1313

1414
void main()
1515
{
16-
if (uHalftone != 0 && mod(gl_FragCoord.x + gl_FragCoord.y + 0.5, 2.0) < 1.0)
16+
if (uHalftone != 0 && mod(mod(gl_FragCoord.x, 2.0)+mod(gl_FragCoord.y, 2.0)+0.5, 2.0) < 1.0)
1717
discard;
18-
1918
vec3 normal = vNormal;
2019
if (!gl_FrontFacing)
2120
{
2221
normal = -normal;
2322
}
24-
2523
float intensity = max(0.0, dot(normal, uLightPos.xyz));
26-
2724
vec4 color = vec4(vec3(intensity), 1.0) * uLightDiffuse + uLightAmbient;
2825
color.r = clamp(color.r, 0.0, 1.0);
2926
color.g = clamp(color.g, 0.0, 1.0);
3027
color.b = clamp(color.b, 0.0, 1.0);
3128
color.a = 1.0;
32-
3329
gl_FragColor = texture2D( uTex0, vTex ) * color;
34-
3530
if (uAlphaDiscard != 0 && gl_FragColor.a < 0.5)
3631
discard;
3732
}

0 commit comments

Comments
 (0)