package main

import "platform"
import "render_backend/opengl"
import "renderer"

// TODO: error management
main :: proc() {
	// TODO: window parameters and other variables
	p := platform.create()

	// NOTE: uses platform to get context as necessary
	b := opengl.create_backend(p)

	r := renderer.create(&b)
	for platform.should_close(p) {
		_ = platform.poll_events(p)
		// TODO: handle events

		renderer.begin_frame(&r)
		renderer.draw_triangle(&r, {})
		renderer.end_frame(&r)
	}

	renderer.destroy(&r)
	platform.destroy(&p)
}