15 lines
616 B
GLSL
15 lines
616 B
GLSL
|
|
#if defined(VARIANT_HAS_SHADOWING)
|
|
highp vec4 computeLightSpacePosition(highp vec3 p, const highp vec3 n,
|
|
const highp vec3 dir, const highp vec2 b, highp_mat4 lightFromWorldMatrix) {
|
|
#if !defined(VARIANT_HAS_VSM)
|
|
highp vec3 L_right = vec3(lightFromWorldMatrix[0][0], lightFromWorldMatrix[1][0], lightFromWorldMatrix[2][0]);
|
|
highp vec3 L_up = vec3(lightFromWorldMatrix[0][1], lightFromWorldMatrix[1][1], lightFromWorldMatrix[2][1]);
|
|
highp float n_Lx = dot(n, L_right);
|
|
highp float n_Ly = dot(n, L_up);
|
|
p += n * (abs(n_Lx * b.x) + abs(n_Ly * b.y));
|
|
#endif
|
|
return mulMat4x4Float3(lightFromWorldMatrix, p);
|
|
}
|
|
#endif
|