Bläddra i källkod

Merge pull request #26567 from clayjohn/pixel_snap_artifact

Fixed pixel snap precision artifact
Rémi Verschelde 6 år sedan
förälder
incheckning
b753223ac2
2 ändrade filer med 6 tillägg och 0 borttagningar
  1. 3 0
      drivers/gles2/shaders/canvas.glsl
  2. 3 0
      drivers/gles3/shaders/canvas.glsl

+ 3 - 0
drivers/gles2/shaders/canvas.glsl

@@ -162,6 +162,9 @@ VERTEX_SHADER_CODE
 
 
 #ifdef USE_PIXEL_SNAP
 #ifdef USE_PIXEL_SNAP
 	outvec.xy = floor(outvec + 0.5).xy;
 	outvec.xy = floor(outvec + 0.5).xy;
+	// precision issue on some hardware creates artifacts within texture
+	// offset uv by a small amount to avoid
+	uv += 1e-5;
 #endif
 #endif
 
 
 #ifdef USE_SKELETON
 #ifdef USE_SKELETON

+ 3 - 0
drivers/gles3/shaders/canvas.glsl

@@ -173,6 +173,9 @@ VERTEX_SHADER_CODE
 
 
 #ifdef USE_PIXEL_SNAP
 #ifdef USE_PIXEL_SNAP
 	outvec.xy = floor(outvec + 0.5).xy;
 	outvec.xy = floor(outvec + 0.5).xy;
+	// precision issue on some hardware creates artifacts within texture
+	// offset uv by a small amount to avoid
+	uv_interp += 1e-5;
 #endif
 #endif
 
 
 #ifdef USE_SKELETON
 #ifdef USE_SKELETON