Files
zoom/build/assets/shaders/basic.vert

24 lines
582 B
GLSL

#version 410 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec3 aColor;
layout(location = 2) in vec3 aNormal;
layout(location = 6) in mat4 aInstanceModel;
uniform mat4 uView;
uniform mat4 uProjection;
out vec3 FragPos;
out vec3 Normal;
out vec3 Color;
void main() {
vec4 worldPos = aInstanceModel * vec4(aPos, 1.0);
FragPos = worldPos.xyz;
// Transform normal to world space (assuming uniform scaling)
Normal = mat3(transpose(inverse(aInstanceModel))) * aNormal;
Color = aColor;
gl_Position = uProjection * uView * worldPos;
}