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-05-09 00:13:09 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-09 00:28:06 +0300
commitc9537ee5c3f58105f553a32f337f7c5d1be8b1a4 (patch)
tree03dc791e54d44b4e278c2e9ac57746b4e72d86e3 /source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl
parent82046756898b5056f6318ab36fa0bfe331eddd42 (diff)
Overlay: Remove use of NormalMatrix
Diffstat (limited to 'source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl')
-rw-r--r--source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl13
1 files changed, 4 insertions, 9 deletions
diff --git a/source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl b/source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl
index 2df25bf0e03..4107aab03ff 100644
--- a/source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl
+++ b/source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl
@@ -1,11 +1,4 @@
-uniform mat3 NormalMatrix;
-uniform mat4 ViewMatrixInverse;
-uniform mat4 ViewProjectionMatrix;
-
-uniform mat4 ViewMatrix;
-uniform mat4 ProjectionMatrix;
-
/* ---- Instantiated Attrs ---- */
in vec3 pos;
in vec3 nor;
@@ -19,8 +12,10 @@ out vec4 finalColor;
void main()
{
- mat3 NormalMatrix = transpose(inverse(mat3(ViewMatrix * InstanceModelMatrix)));
- vec3 normal = normalize(NormalMatrix * nor);
+ /* This is slow and run per vertex, but it's still faster than
+ * doing it per instance on CPU and sending it on via instance attribute. */
+ mat3 normal_mat = transpose(inverse(mat3(InstanceModelMatrix)));
+ vec3 normal = normalize(transform_normal_world_to_view(normal_mat * nor));
/* Do lighting at an angle to avoid flat shading on front facing bone. */
const vec3 light = vec3(0.1, 0.1, 0.8);