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>2017-05-20 14:16:14 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-05-20 17:58:07 +0300
commitd9d65a06d3db36efd5848cf7ae3e08c72c2c296b (patch)
tree74157d860a6191d92b70df8c8b3f667bc9302ca4 /source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
parent4c3382d55f98c721f6116919acce4abba8f01f11 (diff)
Eevee: Move cube shadows to octahedron shadowmaps.
We render linear distance to the light in a R32 texture and store it into an octahedron projection inside a 2D texture array. This render the sampling function much more simpler and without edge artifacts.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/shadow_vert.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/shadow_vert.glsl9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl b/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
index ffb99f1b35c..323cf4d2a99 100644
--- a/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
+++ b/source/blender/draw/engines/eevee/shaders/shadow_vert.glsl
@@ -1,12 +1,21 @@
+layout(std140) uniform shadow_render_block {
+ mat4 ShadowMatrix[6];
+ vec4 lampPosition;
+ int layer;
+};
+
uniform mat4 ShadowModelMatrix;
in vec3 pos;
out vec4 vPos;
+out float lDist;
+
flat out int face;
void main() {
vPos = ShadowModelMatrix * vec4(pos, 1.0);
+ lDist = distance(lampPosition.xyz, vPos.xyz);
face = gl_InstanceID;
} \ No newline at end of file