[Bf-blender-cvs] [20421ef9528] master: Cleanup: DRW: Move ModelMatrix declaration to common_view_lib
Clément Foucault
noreply at git.blender.org
Tue May 14 11:01:52 CEST 2019
Commit: 20421ef9528c562a39b92e18d3e1f858df228953
Author: Clément Foucault
Date: Tue May 14 00:48:17 2019 +0200
Branches: master
https://developer.blender.org/rB20421ef9528c562a39b92e18d3e1f858df228953
Cleanup: DRW: Move ModelMatrix declaration to common_view_lib
===================================================================
M source/blender/draw/engines/eevee/shaders/lit_surface_vert.glsl
M source/blender/draw/engines/eevee/shaders/prepass_vert.glsl
M source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
M source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
M source/blender/draw/engines/gpencil/shaders/gpencil_fill_vert.glsl
M source/blender/draw/engines/gpencil/shaders/gpencil_point_vert.glsl
M source/blender/draw/engines/gpencil/shaders/gpencil_stroke_vert.glsl
M source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
M source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl
M source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
M source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl
M source/blender/draw/modes/shaders/armature_axes_vert.glsl
M source/blender/draw/modes/shaders/armature_envelope_outline_vert.glsl
M source/blender/draw/modes/shaders/armature_envelope_solid_vert.glsl
M source/blender/draw/modes/shaders/armature_stick_vert.glsl
M source/blender/draw/modes/shaders/common_view_lib.glsl
M source/blender/draw/modes/shaders/edit_curve_overlay_handle_vert.glsl
M source/blender/draw/modes/shaders/edit_curve_overlay_loosevert_vert.glsl
M source/blender/draw/modes/shaders/edit_curve_overlay_normals_vert.glsl
M source/blender/draw/modes/shaders/edit_lattice_overlay_loosevert_vert.glsl
M source/blender/draw/modes/shaders/edit_mesh_overlay_facefill_vert.glsl
M source/blender/draw/modes/shaders/edit_mesh_overlay_mesh_analysis_vert.glsl
M source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl
M source/blender/draw/modes/shaders/edit_normals_vert.glsl
M source/blender/draw/modes/shaders/object_empty_axes_vert.glsl
M source/blender/draw/modes/shaders/object_empty_image_vert.glsl
M source/blender/draw/modes/shaders/object_mball_handles_vert.glsl
M source/blender/draw/modes/shaders/object_outline_prepass_vert.glsl
M source/blender/draw/modes/shaders/object_particle_dot_vert.glsl
M source/blender/draw/modes/shaders/object_particle_prim_vert.glsl
M source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl
M source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
M source/blender/draw/modes/shaders/paint_face_vert.glsl
M source/blender/draw/modes/shaders/paint_texture_vert.glsl
M source/blender/draw/modes/shaders/paint_vertex_vert.glsl
M source/blender/draw/modes/shaders/paint_weight_vert.glsl
M source/blender/draw/modes/shaders/paint_wire_vert.glsl
M source/blender/draw/modes/shaders/particle_strand_vert.glsl
M source/blender/draw/modes/shaders/sculpt_mask_vert.glsl
M source/blender/draw/modes/shaders/volume_velocity_vert.glsl
M source/blender/gpu/intern/gpu_codegen.c
M source/blender/gpu/shaders/gpu_shader_material.glsl
===================================================================
diff --git a/source/blender/draw/engines/eevee/shaders/lit_surface_vert.glsl b/source/blender/draw/engines/eevee/shaders/lit_surface_vert.glsl
index 4243d0ef870..0a2785bafca 100644
--- a/source/blender/draw/engines/eevee/shaders/lit_surface_vert.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lit_surface_vert.glsl
@@ -1,9 +1,4 @@
-#ifndef USE_ATTR
-uniform mat4 ModelMatrix;
-uniform mat4 ModelMatrixInverse;
-#endif
-
#ifndef HAIR_SHADER
in vec3 pos;
in vec3 nor;
diff --git a/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl b/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl
index 7f154c9130a..fe274f59167 100644
--- a/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl
+++ b/source/blender/draw/engines/eevee/shaders/prepass_vert.glsl
@@ -1,7 +1,4 @@
-uniform mat4 ModelMatrix;
-uniform mat4 ModelMatrixInverse;
-
#ifdef CLIP_PLANES
/* keep in sync with DRWManager.view_data */
layout(std140) uniform clip_block
diff --git a/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl b/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
index 4f59725fcf8..7dd9af310ed 100644
--- a/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
+++ b/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
@@ -1,8 +1,4 @@
-#ifndef USE_ATTR
-uniform mat4 ModelMatrix;
-#endif
-
in vec3 pos;
in vec3 nor;
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
index 12e7f3ee516..a1cfb2ae4ae 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
@@ -1,4 +1,3 @@
-uniform mat4 ModelMatrix;
in vec3 pos;
in vec4 color;
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_fill_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_fill_vert.glsl
index 4517b68b5e6..eb452f4c660 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_fill_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_fill_vert.glsl
@@ -1,4 +1,3 @@
-uniform mat4 ModelMatrix;
in vec3 pos;
in vec4 color;
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_point_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_point_vert.glsl
index 355d5ef1b0f..ef8b361373f 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_point_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_point_vert.glsl
@@ -1,6 +1,4 @@
-uniform mat4 ModelMatrix;
-
uniform float pixsize; /* rv3d->pixsize */
uniform int keep_size;
uniform float objscale;
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_vert.glsl
index 4e2ec784385..c7089f357f9 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_vert.glsl
@@ -1,4 +1,3 @@
-uniform mat4 ModelMatrix;
uniform float pixsize; /* rv3d->pixsize */
uniform int keep_size;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
index 2955bcb9cca..5d4153999c0 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
@@ -1,5 +1,3 @@
-uniform mat4 ModelMatrix;
-uniform mat4 ModelMatrixInverse;
#ifndef HAIR_SHADER
in vec3 pos;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl
index 85145a2dcdc..e07f87525e2 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl
@@ -1,7 +1,5 @@
#define INFINITE 1000.0
-uniform mat4 ModelMatrix;
-
uniform vec3 lightDirection = vec3(0.57, 0.57, -0.57);
uniform float lightDistance = 1e4;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
index cef405d12d3..848cd49bf53 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
@@ -1,7 +1,4 @@
-uniform mat4 ModelMatrix;
-uniform mat4 ModelMatrixInverse;
-
uniform vec3 OrcoTexCoFactors[2];
uniform sampler2D depthBuffer;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl
index 1834173fee9..6f0bb56fafd 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl
@@ -1,6 +1,4 @@
-uniform mat4 ModelMatrix;
-
uniform vec3 OrcoTexCoFactors[2];
uniform float slicePosition;
uniform int sliceAxis; /* -1 is no slice, 0 is X, 1 is Y, 2 is Z. */
diff --git a/source/blender/draw/modes/shaders/armature_axes_vert.glsl b/source/blender/draw/modes/shaders/armature_axes_vert.glsl
index a689dce4d70..d7ed3e9ab71 100644
--- a/source/blender/draw/modes/shaders/armature_axes_vert.glsl
+++ b/source/blender/draw/modes/shaders/armature_axes_vert.glsl
@@ -1,9 +1,7 @@
uniform mat4 ViewProjectionMatrix;
uniform vec3 screenVecs[3];
-#ifdef USE_WORLD_CLIP_PLANES
-uniform mat4 ModelMatrix;
-#endif
+
/* ---- Instantiated Attrs ---- */
in float axis; /* position on the axis. [0.0-1.0] is X axis, [1.0-2.0] is Y, etc... */
in vec2 screenPos;
@@ -32,6 +30,6 @@ void main()
finalColor.a = 1.0;
#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance((ModelMatrix * pos_4d).xyz);
+ world_clip_planes_calc_clip_distance(pos_4d.xyz);
#endif
}
diff --git a/source/blender/draw/modes/shaders/armature_envelope_outline_vert.glsl b/source/blender/draw/modes/shaders/armature_envelope_outline_vert.glsl
index 1e7fc4d11b8..c0bde90bf28 100644
--- a/source/blender/draw/modes/shaders/armature_envelope_outline_vert.glsl
+++ b/source/blender/draw/modes/shaders/armature_envelope_outline_vert.glsl
@@ -3,9 +3,6 @@ uniform mat4 ViewMatrix;
uniform mat4 ViewMatrixInverse;
uniform mat4 ViewProjectionMatrix;
uniform mat4 ProjectionMatrix;
-#ifdef USE_WORLD_CLIP_PLANES
-uniform mat4 ModelMatrix;
-#endif
uniform vec2 viewportSize;
uniform float lineThickness = 2.0;
@@ -145,7 +142,7 @@ void main()
vec4 pos_4d = vec4(wpos1, 1.0);
#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance((ModelMatrix * pos_4d).xyz);
+ world_clip_planes_calc_clip_distance(pos_4d.xyz);
#endif
vec4 V = ViewMatrix * pos_4d;
diff --git a/source/blender/draw/modes/shaders/armature_envelope_solid_vert.glsl b/source/blender/draw/modes/shaders/armature_envelope_solid_vert.glsl
index 7f8ccc0c95a..d9567bb84f4 100644
--- a/source/blender/draw/modes/shaders/armature_envelope_solid_vert.glsl
+++ b/source/blender/draw/modes/shaders/armature_envelope_solid_vert.glsl
@@ -2,9 +2,6 @@
uniform mat4 ViewMatrix;
uniform mat4 ViewMatrixInverse;
uniform mat4 ViewProjectionMatrix;
-#ifdef USE_WORLD_CLIP_PLANES
-uniform mat4 ModelMatrix;
-#endif
/* ---- Instantiated Attrs ---- */
in vec3 pos;
@@ -57,6 +54,6 @@ void main()
vec4 pos_4d = vec4(sp, 1.0);
gl_Position = ViewProjectionMatrix * pos_4d;
#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance((ModelMatrix * pos_4d).xyz);
+ world_clip_planes_calc_clip_distance(pos_4d.xyz);
#endif
}
diff --git a/source/blender/draw/modes/shaders/armature_stick_vert.glsl b/source/blender/draw/modes/shaders/armature_stick_vert.glsl
index 9e5a3d76c0d..fd8a12fcd2c 100644
--- a/source/blender/draw/modes/shaders/armature_stick_vert.glsl
+++ b/source/blender/draw/modes/shaders/armature_stick_vert.glsl
@@ -1,7 +1,7 @@
uniform mat4 ProjectionMatrix;
uniform mat4 ViewProjectionMatrix;
-uniform mat4 ModelMatrix;
+
uniform mat4 ViewMatrix;
uniform vec2 viewportSize;
@@ -88,8 +88,7 @@ void main()
gl_Position.z += (is_bone) ? 0.0 : 1e-6; /* Avoid Z fighting of head/tails. */
#ifdef USE_WORLD_CLIP_PLANES
- world_clip_planes_calc_clip_distance(
- (ModelMatrix * (is_head ? boneStart_4d : boneEnd_4d)).xyz);
+ world_clip_planes_calc_clip_distance((is_head ? boneStart_4d : boneEnd_4d).xyz);
#endif
}
else {
diff --git a/source/blender/draw/modes/shaders/common_view_lib.glsl b/source/blender/draw/modes/shaders/common_view_lib.glsl
index bdf184cb31e..99410b41ce6 100644
--- a/source/blender/draw/modes/shaders/common_view_lib.glsl
+++ b/source/blender/draw/modes/shaders/common_view_lib.glsl
@@ -14,23 +14,26 @@ layout(std140) uniform viewBlock
vec4 clipPlanes[2];
};
- /** Transform shortcuts. */
- /* Rule of thumb: Try to reuse world positions and normals because converting though viewspace
- * will always be decomposed in at least 2 matrix operation. */
+uniform mat4 ModelMatrix;
+uniform mat4 ModelMatrixInverse;
- /**
- * Some clarification:
- * Usually Normal matrix is transpose(inverse(ViewMatrix * ModelMatrix))
- *
- * But since it is slow to multiply matrices we decompose it. Decomposing
- * inversion and transposition both invert the product order leaving us with
- * the same original order:
- * transpose(ViewMatrixInverse) * transpose(ModelMatrixInverse)
- *
- * Knowing that the view matrix is orthogonal, the transpose is also the inverse.
- * Note: This is only valid because we are only using the mat3 of the ViewMatrixInverse.
- * ViewMatrix * transpose(ModelMatrixInverse)
- **/
+/** Transform shortcuts. */
+/* Rule of thumb: Try to reuse world positions and normals because converting though viewspace
+ * will always be decomposed in at least 2 matrix operation. */
+
+/**
+ * Some clarification:
+ * Usually Normal matrix is transpose(inverse(ViewMatrix * ModelMatrix))
+ *
+ * But since it is slow to multiply matrices we decompose it. Decomposing
+ * inversion and transposition both invert the product order leaving us with
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list