34 lines
629 B
GLSL
34 lines
629 B
GLSL
#version 330 core
|
|
|
|
layout(location = 0) in vec3 aPos;
|
|
layout(location = 1) in vec3 aColor;
|
|
layout(location = 2) in vec2 aTextCoord;
|
|
|
|
out vec4 TexColor;
|
|
out vec2 TexCoord;
|
|
|
|
uniform vec4 color;
|
|
uniform mat4x4 lookAt;
|
|
uniform mat4x4 projection;
|
|
|
|
void main()
|
|
{
|
|
float as = sin( color.w );
|
|
float ac = cos( color.w );
|
|
mat4x4 rotation = mat4x4(
|
|
ac,-as,0,0,
|
|
as,ac,0,0,
|
|
0,0,1,0,
|
|
0,0,0,1
|
|
);
|
|
vec4 temp = (vec4(aPos.xyz,1.0) + vec4(color.yz-vec2(0.5,0.5),0.0,0.0)) * rotation;
|
|
gl_Position = projection * lookAt * temp;
|
|
TexColor = color;
|
|
TexCoord = aTextCoord;
|
|
}
|
|
|
|
//struct
|
|
|
|
|
|
|