Projection equation and first cube

This commit is contained in:
2024-06-29 17:11:31 +01:00
parent 6dc609be14
commit f922980232
7 changed files with 107 additions and 19 deletions

15
include/camera/camera.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef CAMERA_H
#define CAMERA_H
#include "vector/vec.h"
#include "window/window.h"
typedef struct {
vec3f_t position;
vec3f_t rotation;
} camera_t;
vec2i_t project_point(vec3f_t point, const window_t *wnd,
const camera_t *camera, vec3f_t viewport);
#endif // !CAMERA_H

View File

@@ -38,7 +38,8 @@ void clear_window(window_t *wnd, colour_t colour);
void set_pixel(window_t *wnd, i32 x, i32 y, colour_t colour);
void swap_buffers(window_t *wnd);
vec3f_t window_to_viewport(window_t *wnd, i32 x, i32 y, vec3f_t viewport);
vec3f_t window_to_viewport(const window_t *wnd, i32 x, i32 y, vec3f_t viewport);
vec2i_t viewport_to_window(const window_t *wnd, f32 x, f32 y, vec3f_t viewport);
colour_t colour_add_colour(colour_t a, colour_t b);
colour_t colour_mul(colour_t colour, f32 scalar);