33 lines
703 B
C

#ifndef RASTERISER_H
#define RASTERISER_H
#include "aliases.h"
#include "list/typed_list.h"
#include "mem_arena.h"
#include "vector/vec.h"
#include "window/window.h"
MAKE_LIST_TYPE(f32);
typedef struct {
vec2i_t p0;
vec2i_t p1;
} line_t;
typedef struct {
vec2i_t p0;
vec2i_t p1;
vec2i_t p2;
f32 h0;
f32 h1;
f32 h2;
colour_t colour;
} triangle_t;
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);
void draw_line(window_t *wnd, Arena *arena, line_t line, colour_t colour);
#endif // !RASTERISER_H