Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-04-18 12:28:32 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-04-18 12:34:53 +0300
commit3054a9698104741a0d658992eb2db2873eb06c01 (patch)
treeb3484468500728395a3ce2e5be0550ad4c1f9f0f /source/blender
parent7cdc0b76aa976d7e6f7abd97ceb75529cf9a785b (diff)
Object Mode: Outlines: Fix sample coordinates.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/draw/modes/shaders/object_outline_detect_frag.glsl12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/draw/modes/shaders/object_outline_detect_frag.glsl b/source/blender/draw/modes/shaders/object_outline_detect_frag.glsl
index dc457100d1c..1a46e207a37 100644
--- a/source/blender/draw/modes/shaders/object_outline_detect_frag.glsl
+++ b/source/blender/draw/modes/shaders/object_outline_detect_frag.glsl
@@ -40,8 +40,8 @@ void main()
#ifdef GL_ARB_texture_gather
vec2 texel_size = 1.0 / vec2(textureSize(outlineId, 0).xy);
- vec2 uv1 = floor(gl_FragCoord.xy) * texel_size - texel_size;
- vec2 uv2 = floor(gl_FragCoord.xy) * texel_size;
+ vec2 uv1 = ceil(gl_FragCoord.xy) * texel_size - texel_size;
+ vec2 uv2 = ceil(gl_FragCoord.xy) * texel_size;
/* Samples order is CW starting from top left. */
uvec4 tmp1 = textureGather(outlineId, uv1);
@@ -52,10 +52,10 @@ void main()
#else
uvec4 id;
uint ref_id = texelFetch(outlineId, texel, 0).r;
- id.x = texelFetchOffset(outlineId, texel, 0, ivec2( 1, 0)).r;
- id.y = texelFetchOffset(outlineId, texel, 0, ivec2( 0, 1)).r;
- id.z = texelFetchOffset(outlineId, texel, 0, ivec2(-1, 0)).r;
- id.w = texelFetchOffset(outlineId, texel, 0, ivec2( 0, -1)).r;
+ id.x = texelFetchOffset(outlineId, texel, 0, ivec2(-1, 0)).r;
+ id.y = texelFetchOffset(outlineId, texel, 0, ivec2( 0, -1)).r;
+ id.z = texelFetchOffset(outlineId, texel, 0, ivec2( 0, 1)).r;
+ id.w = texelFetchOffset(outlineId, texel, 0, ivec2( 1, 0)).r;
#endif
float ref_depth = texelFetch(outlineDepth, texel, 0).r;