|
|
|
@ -29,22 +29,29 @@ void main() {
|
|
|
|
|
// assign the transformee
|
|
|
|
|
gl_Position = pos.posnrm[gl_VertexIndex][0];
|
|
|
|
|
|
|
|
|
|
// this needs a refactor;
|
|
|
|
|
// the push constant format doesn't really match
|
|
|
|
|
// what it's being used for.
|
|
|
|
|
vec3 cam_orig = offst.xyz;
|
|
|
|
|
vec2 cam_rot = vec2(data[3].w, offst.w);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mat4 view_orig = mat4(
|
|
|
|
|
1.0, 0.0, 0.0, offst.x,
|
|
|
|
|
0.0, 1.0, 0.0, offst.y,
|
|
|
|
|
0.0, 0.0, 1.0, offst.z,
|
|
|
|
|
1.0, 0.0, 0.0, cam_orig.x,
|
|
|
|
|
0.0, 1.0, 0.0, cam_orig.y,
|
|
|
|
|
0.0, 0.0, 1.0, cam_orig.z,
|
|
|
|
|
0.0, 0.0, 0.0, 1.0
|
|
|
|
|
);
|
|
|
|
|
mat4 view_rot_xz = mat4(
|
|
|
|
|
cos(offst.w), 0.0, sin(offst.w), 0.0,
|
|
|
|
|
cos(cam_rot.y), 0.0, sin(cam_rot.y), 0.0,
|
|
|
|
|
0.0, 1.0, 0.0, 0.0,
|
|
|
|
|
-sin(offst.w), 0.0, cos(offst.w), 0.0,
|
|
|
|
|
-sin(cam_rot.y), 0.0, cos(cam_rot.y), 0.0,
|
|
|
|
|
0.0, 0.0, 0.0, 1.0
|
|
|
|
|
);
|
|
|
|
|
mat4 view_rot_yz = mat4(
|
|
|
|
|
1.0, 0.0, 0.0, 0.0,
|
|
|
|
|
0.0, cos(data[3].w), sin(data[3].w), 0.0,
|
|
|
|
|
0.0, -sin(data[3].w), cos(data[3].w), 0.0,
|
|
|
|
|
0.0, cos(cam_rot.x), sin(cam_rot.x), 0.0,
|
|
|
|
|
0.0, -sin(cam_rot.x), cos(cam_rot.x), 0.0,
|
|
|
|
|
0.0, 0.0, 0.0, 1.0
|
|
|
|
|
);
|
|
|
|
|
mat4 project_aspect = mat4(
|
|
|
|
|