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)