اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
البرنامج التالي "simple.ml" يقوم بتصميم مثلث دوار ثنائي الأبعاد باستخدام أوبن جل:
let () = ignore(Glut.init Sys.argv); Glut.initDisplayMode ~double_buffer:true (); ignore (Glut.createWindow ~title:"OpenGL Demo"); let angle t = 10. *. t *. t in let render () = GlClear.clear [ `color ]; GlMat.load_identity (); GlMat.rotate ~angle: (angle (Sys.time ())) ~z:1. (); GlDraw.begins `triangles; List.iter GlDraw.vertex2 [-1., -1.; 0., 1.; 1., -1.]; GlDraw.ends (); Glut.swapBuffers () in GlMat.mode `modelview; Glut.displayFunc ~cb:render; Glut.idleFunc ~cb:(Some Glut.postRedisplay); Glut.mainLoop ()
ويحتاج ذلك إلى روابط تربط بين لابل جل وأوبن جل. يمكن بعد ذلك تصنيف البرنامج إلى شفرة بايت باستخدام:
$ ocamlc -I +lablGL lablglut.cma lablgl.cma simple.ml -o simple
أو إلى شفرة مصدرية:
$ ocamlopt -I +lablGL lablglut.cmxa lablgl.cmxa simple.ml -o simple
ثم التنفيذ:
$./simple
وهو برنامج جرافيك ثنائي وثلاثي الأبعاد أكثر تطورا وتعقيدا وعالي الأداء تم تطويره بسهولة في الأو كامل. وبفضل استخدام أوبن جل فإن البرامج الناتجة لا تكون فقط بليغة وعلى قدر من الكفاءة ولكنها تكون أيضا ذات منصة تبادلية مصنفة دون أي تغير في كافة المنصات الرئيسية.