瀏覽代碼

fixed pixel snap precision artifact

clayjohn 6 年之前
父節點
當前提交
b804c491b7
共有 2 個文件被更改,包括 6 次插入0 次删除
  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
 	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
 
 #ifdef USE_SKELETON

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

@@ -173,6 +173,9 @@ VERTEX_SHADER_CODE
 
 #ifdef USE_PIXEL_SNAP
 	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
 
 #ifdef USE_SKELETON