34 lines
1019 B
OCaml
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)
|