Add wireframe and solid render types

This commit is contained in:
abdelrahman committed 2024-07-13 22:43:00 +01:00
1 parent e236cd8bbe
commit 5d61e8a616
3 files changed
+21 -8

No files matched your search

+7 -1
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);