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)
}