40 lines
681 B
OCaml
40 lines
681 B
OCaml
open Adam
|
|
open S2
|
|
|
|
module Transform_graph : sig
|
|
type t
|
|
type node
|
|
|
|
val make : unit -> t
|
|
val update : t -> unit
|
|
|
|
val model : node -> mat2a
|
|
val world : node -> mat2a
|
|
|
|
(* val add : ?parent:node -> t -> node *)
|
|
end
|
|
|
|
module Sprite_graph : sig
|
|
type t
|
|
type node
|
|
|
|
val make : unit -> t
|
|
val register_sprite_map : t -> string -> Sprite.map -> unit
|
|
val render : t -> ren:Renderer.t -> unit
|
|
|
|
(* val add_rect : t -> tf:mat2a -> bb:aabb -> fill:color -> node *)
|
|
end
|
|
|
|
module Scene : sig
|
|
type t
|
|
type obj
|
|
|
|
val load : string ->
|
|
tg:Transform_graph.t ->
|
|
sg:Sprite_graph.t ->
|
|
t
|
|
|
|
val get : t -> string -> obj
|
|
val transform : obj -> Transform_graph.node
|
|
end
|