Files
WpfOpenGLSubwindowing/WpfOpenGLSubwindowingClasses/WpfOpenGLSubwindowingClasses/Shaders/BasicShader.vert
T
2026-01-09 15:16:22 +01:00

32 lines
769 B
GLSL

#version 410 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aNormal;
layout (location = 2) in vec3 aColor;
layout (location = 3) in vec2 aTexCoord;
out DATA {
vec3 Normal;
vec3 color;
vec2 texCoord;
vec3 WorldPos;
} data_out;
uniform mat4 model;
// uniform mat4 camMatrix;
uniform mat4 view;
uniform mat4 proj;
uniform mat4 translation;
uniform mat4 rotation;
uniform mat4 scale;
void main() {
mat4 M = translation * rotation * scale * model;
vec4 worldPos = M * vec4(aPos, 1.0);
gl_Position = proj * view * worldPos;
data_out.WorldPos = worldPos.xyz;
data_out.Normal = mat3(transpose(inverse(M))) * aNormal;
data_out.color = aColor;
data_out.texCoord = vec2(aTexCoord.x, 1.0 - aTexCoord.y);
}