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>2018-05-19 19:53:53 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-05-20 20:14:22 +0300
commit2c6106247bfde4d649fc788a6b933d48221dc7b3 (patch)
treebdd8d2ff95288146b33b65b5e206911035a0a6c0 /source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl
parentef90d467008bbb471021e376b8d36554543544a4 (diff)
Workbench: Precompute light direction in object space.
Avoid 2 matrix multiplication in the shader.
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl')
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_shadow_vert.glsl7
1 files changed, 2 insertions, 5 deletions
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 8f02ce26626..4a06d325db6 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,6 @@
#define EPSILON 0.0001
-#define INFINITE 10000.0
+#define INFINITE 1000000.0
-uniform mat4 ModelMatrixInverse;
uniform mat4 ModelViewProjectionMatrix;
uniform mat4 ViewProjectionMatrix;
uniform vec3 lightDirection = vec3(0.57, 0.57, -0.57);
@@ -16,9 +15,7 @@ out VertexData {
void main()
{
- /* TODO precompute light_direction */
- vec3 light_direction = mat3(ModelMatrixInverse) * lightDirection;
vData.pos = pos;
vData.frontPosition = ModelViewProjectionMatrix * vec4(pos, 1.0);
- vData.backPosition = ModelViewProjectionMatrix * vec4(pos + light_direction * INFINITE, 1.0);
+ vData.backPosition = ModelViewProjectionMatrix * vec4(pos + lightDirection * INFINITE, 1.0);
}