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-02-13 15:58:45 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-02-18 16:17:57 +0300
commit600da00a94e6b7ad65daf3a077353c8837b582bf (patch)
tree8873b7d76e8531b0a01d8f86f6cabe846d515ec6 /source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
parente49d9555418d571f0585bf9a33aed90008e72e2c (diff)
Wireframe: Add depth offset to prevent zfighting of wireframe overlay
Diffstat (limited to 'source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl')
-rw-r--r--source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl14
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl b/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
index 4e7560141f6..53279a74352 100644
--- a/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
+++ b/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
@@ -1,9 +1,11 @@
-uniform mat4 ModelViewProjectionMatrix;
+uniform mat4 ProjectionMatrix;
+uniform mat4 ModelViewMatrix;
uniform mat4 ModelMatrix;
uniform mat3 NormalMatrix;
uniform float wireStepParam;
+uniform float ofs;
float get_edge_sharpness(float wd)
{
@@ -29,7 +31,10 @@ void main()
edgeSharpness_g = 1.0;
# endif
- gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
+ mat4 projmat = ProjectionMatrix;
+ projmat[3][2] -= ofs;
+
+ gl_Position = projmat * (ModelViewMatrix * vec4(pos, 1.0));
facing_g = normalize(NormalMatrix * nor).z;
@@ -49,7 +54,10 @@ flat out float edgeSharpness;
void main()
{
- gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
+ mat4 projmat = ProjectionMatrix;
+ projmat[3][2] -= ofs;
+
+ gl_Position = projmat * (ModelViewMatrix * vec4(pos, 1.0));
edgeSharpness = get_edge_sharpness(wd);