@@ -42,6 +42,7 @@ uniform float point_light_intensity_multiplier = 50.0;
|
|
42
42
|
in vec2 texCoord;
|
43
43
|
in vec3 viewSpaceNormal;
|
44
44
|
in vec3 viewSpacePosition;
|
45
|
+
in vec4 shadowMapCoord;
|
45
46
|
|
46
47
|
///////////////////////////////////////////////////////////////////////////////
|
47
48
|
// Input uniform variables
|
@@ -135,7 +136,6 @@ void main()
|
|
135
136
|
float visibility = 1.0;
|
136
137
|
float attenuation = 1.0;
|
137
138
|
|
138
|
-
vec4 shadowMapCoord = lightMatrix * vec4(viewSpacePosition, 1.0);
|
139
139
|
#if SOLUTION_USE_BUILTIN_SHADOW_TEST // SOLUTION_CODE >= 8
|
140
140
|
visibility = textureProj(shadowMapTex, shadowMapCoord);
|
141
141
|
#else
|
@@ -12,6 +12,7 @@ layout(location = 2) in vec2 texCoordIn;
|
|
12
12
|
uniform mat4 normalMatrix;
|
13
13
|
uniform mat4 modelViewMatrix;
|
14
14
|
uniform mat4 modelViewProjectionMatrix;
|
15
|
+
uniform mat4 lightMatrix;
|
15
16
|
|
16
17
|
///////////////////////////////////////////////////////////////////////////////
|
17
18
|
// Output to fragment shader
|
@@ -19,6 +20,7 @@ uniform mat4 modelViewProjectionMatrix;
|
|
19
20
|
out vec2 texCoord;
|
20
21
|
out vec3 viewSpaceNormal;
|
21
22
|
out vec3 viewSpacePosition;
|
23
|
+
out vec4 shadowMapCoord;
|
22
24
|
|
23
25
|
void main()
|
24
26
|
{
|
@@ -26,4 +28,5 @@ void main()
|
|
26
28
|
texCoord = texCoordIn;
|
27
29
|
viewSpaceNormal = (normalMatrix * vec4(normalIn, 0.0)).xyz;
|
28
30
|
viewSpacePosition = (modelViewMatrix * vec4(position, 1.0)).xyz;
|
31
|
+
shadowMapCoord = lightMatrix * vec4(viewSpacePosition, 1.0);
|
29
32
|
}
|