From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA02896; Fri, 20 Dec 2002 14:01:43 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id OAA02877 for ; Fri, 20 Dec 2002 14:01:43 +0100 (MET) Received: from dux.ru (ns.dux.ru [193.125.210.65]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id gBKD1fn11191 for ; Fri, 20 Dec 2002 14:01:42 +0100 (MET) Received: from dux.ru (localhost [127.0.0.1]) by dux.ru (8.12.6/8.12.6) with ESMTP id gBKD7DhW073052 for ; Fri, 20 Dec 2002 16:07:14 +0300 (MSK) (envelope-from snob@snob.spb.ru) Received: (from uucp@localhost) by dux.ru (8.12.6/8.12.1/Submit) with UUCP id gBKD7D5k073051 for caml-list@inria.fr; Fri, 20 Dec 2002 16:07:13 +0300 (MSK) (envelope-from snob@snob.spb.ru) Received: (qmail 1657 invoked by uid 0); 20 Dec 2002 13:04:56 -0000 Received: from unknown (HELO athlon.snob.spb.ru) (unknown) by unknown with SMTP; 20 Dec 2002 13:04:56 -0000 Content-Type: text/plain; charset="us-ascii" From: Nickolay Semyonov-Kolchin To: caml-list@inria.fr Subject: [Caml-list] Announce: camlgl - OpenGL bindings for OCaml Date: Fri, 20 Dec 2002 15:46:12 +0500 User-Agent: KMail/1.4.3 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-Id: <200212201546.12363.snob@snob.spb.ru> Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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=20 - unsupported Glut and SDL bindings ----------------------------------------------------------- WARNING this release was tested under RH8, gcc3.2, NVidia GL 41.91 ----------------------------------------------------------- Details =3D=3D=3D=3D=3D=3D=3D 1. CamlGL loads GL library at runtime. So you can switch between Native/M= esa 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.=20 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 =3D Hgl.ba_float_init [|1.0;0.0;3.0|] in glVertex3fv a; ------------------------------------------------------------- Notes =3D=3D=3D=3D=3D=3D 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=20 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=20 ARB_render_texture ------------------- To unsubscribe, mail caml-list-request@inria.fr 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