33 lines
703 B
C
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
|