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>2018-04-20 11:45:46 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-04-20 11:45:46 +0300
commitcc0c971f84a2fa616c3f5df371f160d9d024fb08 (patch)
tree7f47d304bb8a213ad2f8927d9e32e8a48df2830c /source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl
parent95e39943ef2a5d87d277b67d18570bffc3375e47 (diff)
Workbench: Added the basics for the OverlayMode
Implemented the face orientation overlay for testing. Overlay mode is only drawn when there are overlays to be rendered. The overlay mode is rendered before the object mode.
Diffstat (limited to 'source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl')
-rw-r--r--source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl21
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl b/source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl
new file mode 100644
index 00000000000..e9518c25400
--- /dev/null
+++ b/source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl
@@ -0,0 +1,21 @@
+
+uniform mat4 ModelViewProjectionMatrix;
+
+in vec3 pos;
+in vec3 nor;
+
+uniform mat4 ProjectionMatrix;
+uniform mat4 ModelViewMatrix;
+uniform mat3 NormalMatrix;
+
+flat out float facing;
+
+void main()
+{
+ gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
+ vec3 view_normal = normalize(NormalMatrix * nor);
+ vec3 view_vec = (ProjectionMatrix[3][3] == 0.0)
+ ? normalize((ModelViewMatrix * vec4(pos, 1.0)).xyz)
+ : vec3(0.0, 0.0, 1.0);
+ facing = dot(view_vec, view_normal);
+}