rasterizer

C++ software renderer

draw.h

493 B
 1#pragma once
 2
 3#include "globals.h"
 4#include "renderer.h"
 5#include "util_math.h"
 6
 7struct ScreenTriangle {
 8    vec3f points[3];
 9    vec2f uv_over_w[3];
10    vec3f color_over_w[3];
11    float inv_w[3];
12    float ndc_depth[3];
13    u32   mat_idx;
14};
15
16void clear_color_buffer(u32 color, Window *window);
17void draw_line_grid(u32 color, Window *window, u8 spacing);
18void draw_line(int x0, int y0, int x1, int y1, u32 color, Window *window);
19void rasterize_triangle(ScreenTriangle *tri, Window *window);