Rotations fixy smixy
This commit is contained in:
parent
b9503d8d19
commit
3e4ddda186
2 changed files with 5 additions and 3 deletions
2
entry.c
2
entry.c
|
@ -4,7 +4,7 @@
|
||||||
int start(int argc, char **argv) {
|
int start(int argc, char **argv) {
|
||||||
|
|
||||||
window.title = fixed_string("My epic game");
|
window.title = fixed_string("My epic game");
|
||||||
window.width = 400;
|
window.width = 700;
|
||||||
window.height = 400;
|
window.height = 400;
|
||||||
window.x = 200;
|
window.x = 200;
|
||||||
window.y = 200;
|
window.y = 200;
|
||||||
|
|
|
@ -123,12 +123,14 @@ Draw_Quad *draw_quad_projected(Draw_Quad quad, Matrix4 world_to_clip) {
|
||||||
return &draw_frame.current->quad_buffer[draw_frame.current->num_quads-1];
|
return &draw_frame.current->quad_buffer[draw_frame.current->num_quads-1];
|
||||||
}
|
}
|
||||||
Draw_Quad *draw_quad(Draw_Quad quad) {
|
Draw_Quad *draw_quad(Draw_Quad quad) {
|
||||||
return draw_quad_projected(quad, m4_multiply(m4_inverse(draw_frame.view), draw_frame.projection));
|
return draw_quad_projected(quad, m4_multiply(draw_frame.projection, m4_inverse(draw_frame.view)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw_Quad *draw_quad_xform(Draw_Quad quad, Matrix4 xform) {
|
Draw_Quad *draw_quad_xform(Draw_Quad quad, Matrix4 xform) {
|
||||||
Matrix4 world_to_clip = m4_multiply(m4_inverse(draw_frame.view), xform);
|
Matrix4 world_to_clip = m4_scalar(1.0);
|
||||||
world_to_clip = m4_multiply(world_to_clip, draw_frame.projection);
|
world_to_clip = m4_multiply(world_to_clip, draw_frame.projection);
|
||||||
|
world_to_clip = m4_multiply(world_to_clip, m4_inverse(draw_frame.view));
|
||||||
|
world_to_clip = m4_multiply(world_to_clip, xform);
|
||||||
return draw_quad_projected(quad, world_to_clip);
|
return draw_quad_projected(quad, world_to_clip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue