Add wireframe and solid render types

This commit is contained in:
2024-07-13 22:43:00 +01:00
parent e236cd8bbe
commit 5d61e8a616
3 changed files with 21 additions and 8 deletions

View File

@@ -29,6 +29,11 @@ MAKE_LIST_TYPE(vec4f_t);
MAKE_LIST_TYPE(vertex_t);
MAKE_LIST_TYPE(scene_triangle_t);
typedef enum {
RASTERISER_RENDER_WIREFRAME,
RASTERISER_RENDER_SOLID,
} render_type_t;
typedef struct {
vec2i_t p0;
vec2i_t p1;
@@ -80,7 +85,8 @@ typedef struct {
clipping_plane_t planes[CLIPPING_PLANE_COUNT];
} rasteriser_scene_t;
void render_scene(window_t *wnd, Arena *arena, const rasteriser_scene_t *scene);
void render_scene(window_t *wnd, Arena *arena, const rasteriser_scene_t *scene,
render_type_t type);
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);