package render_backend Backend :: struct { data: rawptr, api: Backend_API, } Backend_API :: struct { begin_frame: proc(data: rawptr), draw_triangles: proc(data: rawptr, triangles: []Triangle), end_frame: proc(data: rawptr), destroy: proc(data: rawptr), } Vertex :: struct { position: [2]f32, color: [4]f32, } Triangle :: struct { vertices: [3]Vertex, } Render_Frame :: struct { triangles: [dynamic]Triangle, }