summaryrefslogtreecommitdiff
path: root/render.h
diff options
context:
space:
mode:
authorquou <quou@disroot.org>2024-07-06 17:55:46 +1000
committerquou <quou@disroot.org>2024-07-06 17:56:54 +1000
commite6f8a3356a91e0304e9965c7b8bfc2f06a2b79cc (patch)
treefa9d44cdc1b007c834bd2c8cfd6e19d175829b4d /render.h
parent8706ad19a8b29073afeece115092f03cbbf369c4 (diff)
Triangle fill.
Diffstat (limited to 'render.h')
-rw-r--r--render.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/render.h b/render.h
index 36bafe4..887cffa 100644
--- a/render.h
+++ b/render.h
@@ -20,14 +20,16 @@ Colour blend_mod(Colour dst, Colour src, Colour mod);
typedef struct {
Colour* t;
+ int* d;
int w, h;
Rect clip;
} Renderer;
-void ren_begin(Renderer* r, Colour* t, int w, int h);
+void ren_begin(Renderer* r, Colour* t, int* d, int w, int h);
void ren_end(Renderer* r);
void ren_clear(Renderer* r);
void ren_clearc(Renderer* r, Colour c);
+void ren_cleard(Renderer* r, int depth);
void ren_clip(Renderer* r, const Rect* c);
void ren_point(Renderer* r, Colour c, int x, int y);
void ren_char(
@@ -44,5 +46,19 @@ void ren_text(
int y,
const char* t
);
+typedef enum {
+ tri_mode_flat,
+ tri_mode_textured,
+ tri_mode_lit,
+ tri_mode_textured_lit
+} Tri_Mode;
+void ren_tri(
+ Renderer* r,
+ Colour c,
+ int* v0,
+ int* v1,
+ int* v2,
+ Tri_Mode mode
+);
#endif