37 lines
669 B
GLSL
37 lines
669 B
GLSL
#version 460 core
|
|
|
|
|
|
layout(location = 0) in vec3 singleCoord;
|
|
layout(location = 1) in vec3 locations;
|
|
layout(location = 2) in float rotation;
|
|
layout(location = 3) in float scale;
|
|
|
|
uniform mat4x4 Camera;
|
|
|
|
void main()
|
|
{
|
|
/**/
|
|
mat4x4 scalingMat = mat4x4
|
|
(
|
|
scale,0,0,0,
|
|
0,scale,0,0,
|
|
0,0,scale,0,
|
|
0,0,0,1
|
|
);
|
|
/**/
|
|
/**/
|
|
|
|
mat4x4 rotationMat = mat4x4
|
|
(
|
|
cos(rotation),-sin(rotation),0,0,
|
|
sin(rotation),cos(rotation),0,0,
|
|
0,0,1,0,
|
|
0,0,0,1
|
|
);
|
|
|
|
/**/
|
|
|
|
gl_Position = Camera * ( rotationMat * scalingMat * vec4( singleCoord.xyz , 1) + vec4( locations.xyz , 0));
|
|
|
|
}
|