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>2019-12-02 21:02:51 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-12-02 21:02:58 +0300
commit1e480840a2123a6b61e7aa3e6f7935b6654f9981 (patch)
tree6c8c3e80349a800414de44f9e23b6e12ccca8198 /source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl
parentdf29e9c070a2fe00591747828498b671e8b2b4db (diff)
Overlay: Fix vertex discard issue on Nvidia hardware
Instead of relying on undefined behavior to discard the line, we put the vertex at the camera origin so that interpolation does not produce any fragment. We don't use FLT_MAX as it also gives unpredicatble results on NVidia.
Diffstat (limited to 'source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl')
-rw-r--r--source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl b/source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl
index 5801c7cb474..c627e912d6c 100644
--- a/source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl
+++ b/source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl
@@ -104,8 +104,8 @@ void main()
gl_Position = point_world_to_ndc(wpos);
if (get_edge_sharpness(wd) < 0.0) {
- /* Discard primitive. */
- gl_Position = vec4(0.0);
+ /* Discard primitive by placing any of the verts at the camera origin. */
+ gl_Position = vec4(0.0, 0.0, -3e36, 0.0);
}
#ifndef SELECT_EDGES