Hi, Would it be reasonnable to provide this, considering that lablgl already exists (I would volonteer for this)?
Cheers, ----- Message retransmis par Nickolay Semyonov-Kolchin <[EMAIL PROTECTED]> ----- Date: Fri, 20 Dec 2002 15:46:12 +0500 From: Nickolay Semyonov-Kolchin <[EMAIL PROTECTED]> Reply-To: Nickolay Semyonov-Kolchin <[EMAIL PROTECTED]> Subject: [Caml-list] Announce: camlgl - OpenGL bindings for OCaml To: [EMAIL PROTECTED] Announcement CamlGL --- OpenGL bindings for Objective Caml http://www.sf.net/projects/camlgl Key Features: - Full OpenGL 1.4 support - All window system independent ARB extensions supported - All published NVidia extensions supported (including NV30) - All ATI extensions supported - Windows and Linux version - GLFW bindings - unsupported Glut and SDL bindings ----------------------------------------------------------- WARNING this release was tested under RH8, gcc3.2, NVidia GL 41.91 ----------------------------------------------------------- Details ======= 1. CamlGL loads GL library at runtime. So you can switch between Native/Mesa without recompiling. (This is currently not supported under Windows) Gl.set_gl_lib "libGL.so.1" 2. CamlGL uses "plain" naming conversion for functions and enums. glEnable cgl_lighting; (* glEnable(GL_LIGHTING); *) glVertex3f 1.0 0.0 0.0; (* glVertex3f(1.0f,1.0f,1.0f); *) glColor3b 255 255 255; (* glColor3b(255,255,255); *) 3. CamlGL uses Bigarray module for array representation. let a = Hgl.ba_float_init [|1.0;0.0;3.0|] in glVertex3fv a; ------------------------------------------------------------- Notes ====== 1. GL_ALL_ATTRIB_BITS GL_ALL_ATTRIB_BITS declared as 0xFFFFFFFF in NVidia header. Mesa defines it as 0xFFFF. We are using Mesa constant. 2. GL_ALL_CLIENT_ATTRIB_BITS and GL_CLIENT_ALL_ATTRIB_BITS Declared as 0xFFFFFFFF. We are using 0x3FFFFFFF. 3. Functions with standard type string glGetString: int -> string glLoadProgramNV: int -> int -> int -> string -> unit glProgramNamedParameter4{fd}[v]NV: int -> int -> string -> ... -> unit glGetProgramNamedParameter{fd}vNV: int -> int -> string -> 'a -> unit glProgramStringARB: int -> int -> int -> string -> unit 4. GL_NV_vertex_array_range VAR depends on two window system specific functions: - {glX,wgl}AllocateMemoryNV - {glX,wgl}FreeMemoryNV We provide standard bindings for them: val _glAllocateMemoryNV: int -> float -> float -> float -> tbabyte val _glFreeMemoryNV: tbaabstract -> unit See example in demos/simple/vatest. 5. Unimplemented glMultiModeDrawElementsIBM glVertexPointerListIBM glTexCoordPointerListIBM glNormalPointerListIBM glIndexPointerListIBM glFogCoordPointerListIBM glEdgeFlagPointerListIBM glSecondaryColorPointerListIBM glColorPointerListIBM glTexCoordPointervINTEL glColorPointervINTEL glNormalPointervINTEL glVertexPointervINTEL glReplacementCodePointerSUN glGetPointerv glMultiDrawElements glGetVertexAttribPointervARB glMultiDrawElementsEXT glGetPointervEXT glGetVariantPointervEXT glGetVertexAttribPointervNV glLoadIdentityDeformationMapSGIX glDeformSGIX 6. Extensions not supported ARB_pbuffer ARB_render_texture ------------------- To unsubscribe, mail [EMAIL PROTECTED] Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners ----- Fin de message retransmis ----- -- Jérôme Marant <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> http://marant.org

