Add render_object function
This commit is contained in:
@@ -2,12 +2,23 @@
|
||||
#define RASTERISER_H
|
||||
|
||||
#include "aliases.h"
|
||||
#include "camera/camera.h"
|
||||
#include "list/typed_list.h"
|
||||
#include "mem_arena.h"
|
||||
#include "vector/vec.h"
|
||||
#include "window/window.h"
|
||||
|
||||
typedef struct {
|
||||
u64 idx0;
|
||||
u64 idx1;
|
||||
u64 idx2;
|
||||
colour_t colour;
|
||||
} scene_triangle_t;
|
||||
|
||||
MAKE_LIST_TYPE(f32);
|
||||
MAKE_LIST_TYPE(vec2i_t);
|
||||
MAKE_LIST_TYPE(vec3f_t);
|
||||
MAKE_LIST_TYPE(scene_triangle_t);
|
||||
|
||||
typedef struct {
|
||||
vec2i_t p0;
|
||||
@@ -24,6 +35,9 @@ typedef struct {
|
||||
colour_t colour;
|
||||
} triangle_t;
|
||||
|
||||
void render_object(window_t *wnd, Arena *arena, const camera_t *camera,
|
||||
vec3f_t viewport, const list_vec3f_t *vertices,
|
||||
const list_scene_triangle_t *triangles);
|
||||
void draw_wireframe_triangle(window_t *wnd, Arena *arena, triangle_t triangle);
|
||||
void draw_filled_triangle(window_t *wnd, Arena *arena, triangle_t triangle);
|
||||
void draw_shaded_triangle(window_t *wnd, Arena *arena, triangle_t triangle);
|
||||
|
||||
Reference in New Issue
Block a user