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:
authorJeroen Bakker <j.bakker@atmind.nl>2019-06-04 12:28:21 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2019-06-05 15:29:27 +0300
commiteeda9369b6e63e38a82292f0b42eefc8247e4348 (patch)
treeca865cbeac97c0087543c39524e40627bb3d0401 /source/blender/draw/modes/shaders
parent957c8f1305149ce85472a4082405217475af4b62 (diff)
TexturePaint: Missing Texture Depth Test
Depth testing was off as it used the precomputed ModelView matrix. As draw engines currently use a different approach the depth was sometimes a bit off making the color disappear. This change will use a different vertex shader that will write the correct depth. I expected the same change to be needed in the bone selection overlay but was not able to reproduce it. Reviewed By: fclem Maniphest Tasks: T64615 Differential Revision: https://developer.blender.org/D5006
Diffstat (limited to 'source/blender/draw/modes/shaders')
-rw-r--r--source/blender/draw/modes/shaders/paint_face_selection_vert.glsl19
-rw-r--r--source/blender/draw/modes/shaders/paint_face_vert.glsl12
2 files changed, 21 insertions, 10 deletions
diff --git a/source/blender/draw/modes/shaders/paint_face_selection_vert.glsl b/source/blender/draw/modes/shaders/paint_face_selection_vert.glsl
new file mode 100644
index 00000000000..4b5191ead07
--- /dev/null
+++ b/source/blender/draw/modes/shaders/paint_face_selection_vert.glsl
@@ -0,0 +1,19 @@
+
+in vec3 pos;
+in vec4 nor; /* select flag on the 4th component */
+
+void main()
+{
+ vec3 world_pos = point_object_to_world(pos);
+ gl_Position = point_world_to_ndc(world_pos);
+
+ /* Don't draw faces that are selected. */
+ if (nor.w > 0.0) {
+ gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
+ }
+ else {
+#ifdef USE_WORLD_CLIP_PLANES
+ world_clip_planes_calc_clip_distance(world_pos);
+#endif
+ }
+}
diff --git a/source/blender/draw/modes/shaders/paint_face_vert.glsl b/source/blender/draw/modes/shaders/paint_face_vert.glsl
index 4b5191ead07..d135071c15c 100644
--- a/source/blender/draw/modes/shaders/paint_face_vert.glsl
+++ b/source/blender/draw/modes/shaders/paint_face_vert.glsl
@@ -1,19 +1,11 @@
-
in vec3 pos;
-in vec4 nor; /* select flag on the 4th component */
void main()
{
vec3 world_pos = point_object_to_world(pos);
gl_Position = point_world_to_ndc(world_pos);
- /* Don't draw faces that are selected. */
- if (nor.w > 0.0) {
- gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
- }
- else {
#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance(world_pos);
+ world_clip_planes_calc_clip_distance(world_pos);
#endif
- }
-}
+} \ No newline at end of file