29 lines
526 B
GLSL
29 lines
526 B
GLSL
#version 330 core
|
|
|
|
layout(location = 0) in vec3 aPos;
|
|
layout(location = 1) in vec3 aColor;
|
|
layout(location = 2) in vec2 aTextCoord;
|
|
|
|
out vec3 TexColor;
|
|
out vec2 TexCoord;
|
|
|
|
uniform vec3 color;
|
|
|
|
void main()
|
|
{
|
|
float as = color.z-0.5;
|
|
float ac = sqrt(1 - as * as);
|
|
mat4x4 rotation = mat4x4(
|
|
ac,-as,0,0,
|
|
as,ac,0,0,
|
|
0,0,1,0,
|
|
0,0,0,1
|
|
);
|
|
gl_Position = rotation * (vec4(aPos.xyz,1.0) + vec4(color.xy-vec2(0.5,0.5),0.0,-2.0));
|
|
TexColor = color;
|
|
TexCoord = aTextCoord;
|
|
}
|
|
|
|
|
|
|