geometra/src/main.ml

34 lines
1019 B
OCaml

open S2
open Adam
include (val Ohlog.logs "Main")
let main () =
debug (fun m -> m "initializing");
let window = Window.make ~title:"GEOMETRA" in
info (fun m -> m "window initialized");
let ren = Renderer.make ~window in
info (fun m -> m "renderer initialized");
let render () =
begin
(* let time = Sdl.get_ticks () |> Int32.to_int in *)
Renderer.pre_draw ren;
Renderer.clear ren (rgb24 0x000000);
Renderer.draw_rect ren
~tf:(mat2a 100.0 50.0 1.0 1.0)
~bb:(aabb (-5.0) (-10.0) 50.0 200.0)
~fill:(rgb24 0xff0000);
Renderer.post_draw ren;
end
in
Window.event_loop window ~render;
info (fun m -> m "quitting")
let () =
Ohlog.init () ~min_level:DEBUG;
try main () with
| Failure msg -> error (fun m -> m "%s" msg)
| Sdl.Error msg -> error (fun m -> m "SDL error: %s" msg)
| Gl.Error (why, msg) -> error (fun m -> m "OpenGL error (%s): %s" why msg)
| Asset.Error (path, msg) -> error (fun m -> m "failed to load %S: %s" path msg)