package render import rb "../render_backend" Renderer :: struct { backend: ^rb.Backend, frame: rb.Render_Frame, } create :: proc(backend: ^rb.Backend) -> Renderer { return {backend = backend} } destroy :: proc(renderer: ^Renderer) { renderer.backend.api.destroy(renderer.backend.data) } begin_frame :: proc(renderer: ^Renderer) { } draw_triangle :: proc(renderer: ^Renderer, triangle: rb.Triangle) { } end_frame :: proc(renderer: ^Renderer) { backend := renderer.backend backend.api.begin_frame(backend.data) backend.api.draw_triangles(backend.data, renderer.frame.triangles[:]) backend.api.end_frame(backend.data) clear(&renderer.frame.triangles) }