Initial
This commit is contained in:
52
src/shaders/orbitv.glsl
Normal file
52
src/shaders/orbitv.glsl
Normal file
@@ -0,0 +1,52 @@
|
||||
#version 330 core
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 1) in vec3 aColor;
|
||||
|
||||
out vec3 ourColor;
|
||||
|
||||
uniform float f;
|
||||
uniform float aspect;
|
||||
uniform float zFar;
|
||||
uniform float zNear;
|
||||
uniform float theta;
|
||||
uniform vec3 cameraPosition;
|
||||
uniform vec3 cameraRotation;
|
||||
|
||||
void main()
|
||||
{
|
||||
/* mat4 realprojectionMatrix = mat4(
|
||||
f / aspect, 0, 0, 0,
|
||||
0, f, 0, 0,
|
||||
0, 0, (zFar + zNear) / (zNear - zFar), -1,
|
||||
0, 0, (2 * zFar * zNear) / (zNear - zFar), 0
|
||||
);
|
||||
*/
|
||||
mat4 projectionMatrix = mat4(
|
||||
3 / (800.0 / 600.0), 0, 0, 0,
|
||||
0, 3, 0, 0,
|
||||
0, 0, (10 + 1) / (1 - 10), -1,
|
||||
0, 0, (2 * 10 * 1) / (1 - 10), 0
|
||||
);
|
||||
|
||||
mat4 cameraRotationMatrix = mat4(
|
||||
cos(theta), 0, -sin(theta), 0,
|
||||
0, 1, 0, 0,
|
||||
sin(theta), 0, cos(theta), 0,
|
||||
0, 0, 0, 1
|
||||
);
|
||||
|
||||
mat4 cameraPositionMatrix = mat4(
|
||||
1, 0, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 1, 0,
|
||||
10 * sin(theta), 0, -10 * cos(theta), 1
|
||||
);
|
||||
|
||||
mat4 viewMatrix = cameraRotationMatrix * cameraPositionMatrix;
|
||||
|
||||
|
||||
vec4 projectedVertex = projectionMatrix * cameraRotationMatrix * cameraPositionMatrix * vec4(aPos, 1.0);
|
||||
gl_Position = projectedVertex / projectedVertex.w;
|
||||
ourColor = aColor;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user