This repository has been archived on 2025-03-10. You can view files and clone it, but cannot push or open issues or pull requests.

26 lines
616 B
GLSL

#version 330 core
layout(location = 0) in vec3 pos;
layout(location = 1) in vec2 texCoords;
layout(location = 2) in vec3 normal;
uniform mat4 model;
uniform mat4 view;
uniform mat4 proj;
uniform mat4 lightSpaceMat[16];
uniform int numMats;
out vec2 texCoord;
out vec3 normals;
out vec3 fragPos;
out vec4 fragPosLightSpace[16];
void main() {
texCoord = texCoords;
normals = mat3(transpose(inverse(model))) * normal;
fragPos = vec3(model * vec4(pos, 1.0));
for (int i = 0; i < numMats; i++) {
fragPosLightSpace[i] = lightSpaceMat[i] * vec4(fragPos, 1.0);
}
gl_Position = proj * view * vec4(fragPos, 1.0);
}