| #version 300 es |
| |
| in vec3 vertexPosition; |
| in vec3 vertexNormal; |
| |
| out vec4 positionInLightSpace; |
| out vec3 position; |
| out vec3 normal; |
| |
| uniform mat4 lightViewProjection; |
| uniform mat4 modelMatrix; |
| uniform mat4 modelView; |
| uniform mat3 modelViewNormal; |
| uniform mat4 mvp; |
| |
| void main() |
| { |
| // positionInLightSpace = lightViewProjection * modelMatrix * vec4(vertexPosition, 1.0); |
| const mat4 shadowMatrix = mat4(0.5, 0.0, 0.0, 0.0, |
| 0.0, 0.5, 0.0, 0.0, |
| 0.0, 0.0, 0.5, 0.0, |
| 0.5, 0.5, 0.5, 1.0); |
| |
| positionInLightSpace = shadowMatrix * lightViewProjection * modelMatrix * vec4(vertexPosition, 1.0); |
| |
| normal = normalize(modelViewNormal * vertexNormal); |
| position = vec3(modelView * vec4(vertexPosition, 1.0)); |
| |
| gl_Position = mvp * vec4(vertexPosition, 1.0); |
| } |