sig
  type winding_rule =
      [ `abs_geq_two | `negative | `nonzero | `odd | `positive ]
  type vertices = (float * float * float) list
  val tesselate :
    ?winding:GluTess.winding_rule ->
    ?boundary_only:bool -> ?tolerance:float -> GluTess.vertices list -> unit
  type triangles = {
    singles : GluTess.vertices list;
    strips : GluTess.vertices list;
    fans : GluTess.vertices list;
  }
  val tesselate_and_return :
    ?winding:GluTess.winding_rule ->
    ?tolerance:float -> GluTess.vertices list -> GluTess.triangles
end