Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <200110180900.f9I90ib17384@pheidippides.md.chalmers.se> Date: Thu, 18 Oct 2001 11:00:44 +0200 (MET DST) From: Magnus Bondesson Reply-To: Magnus Bondesson Subject: Re: opengl To: cygwin AT sources DOT redhat DOT com, bond AT md DOT chalmers DOT se MIME-Version: 1.0 Content-Type: TEXT/plain; charset=ISO-8859-1 Content-MD5: UZBOoYc1uD/W9D6E9FffBQ== X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.3.5 SunOS 5.7 sun4u sparc Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from QUOTED-PRINTABLE to 8bit by delorie.com id f9IFGua27426 > Subject: opengl > Date: Wed, 17 Oct 2001 14:13:51 +0200 > > Hi. > > It seems to me that the libopengl32.a doesn't support all opengl extensions, > especially the nVidia extensions. I ran a precompiled program and it workes > fine. Then I compiled it under cygwin and a torus that was supposed to > reflect the environment was totally white. I also get a segemantation fault > when trying to implement the glLockArraysEXT() extension, because the > function sglGetProcAddress() <-(don't remember the exact name) returns > NULL - can I make an own library from the opengl32.dll that supports all > that stuff? > > cheers, > > Thomas Gahr > > Below is my letter (Date: Wed, 17 Oct 2001 16:01:59 +0200 (MET DST)) to Thomas Gahr with some modifications/additions due to later comments from him. It may complement the answer provided by André Bleau. Hello Thomas! I have used cygwin as well as Mumit Khans ming_gcc (mainly) to program GeForce 3. You will need: 1. Drivers etc from nVIDIA. There is no new opengl32.dll! 2. Also the following files, which define a lot of new constants. -rw-r--r-- 1 bond cthusers 160184 Jun 18 17:47 glext.h -rw-r--r-- 1 bond cthusers 20844 Jun 18 17:47 glut.h -rw-r--r-- 1 bond cthusers 23127 Jun 18 17:47 glxext.h -rw-r--r-- 1 bond cthusers 16782 Jun 18 17:47 wglext.h which you put in your GL-map. In glext.h you will find the name glLockArraysEXT. They are in the OpenGL SDK (my be not glut.h). I may also provide you with a special address. The files contains extensions for nVIDIA as well as many others (ARB, SGI). However, if you are looking for e g ATI-extensions you have to look somewhere else. 3. It is also convenient to have a lot of glh_*.h and glh_*.c files, but you can make it without them if you are prepared for some extra work. Those files are in the OpenGL SDK too. 4. If you skipped the files in 3. To be able to use a procedurename like glLoadProgramNV: 1. #define GLH_EXT_GET_PROC_ADDRESS(p) wglGetProcAddress(p) You may of course use wglGetProcAddress directly in step 3. 2. PFNGLLOADPROGRAMNVPROC glLoadProgramNV = 0; 3. glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadProgramNV"); You should check that the result is non-zero (means that the extension is supported by your graphic card/driver). Note that this call must be done after you have called glutCreateWindow 4. glLoadProgramNV(GL_VERTEX_PROGRAM_NV, vpid, pos, buff); 5. If you want use vertex-programming and pixel-programming (available on the GeForce 3) it is a good idea to use nvparse. It is available as a .lib (which may be converted to .a-format) from nVIDIA and as a DLL (from which you can create a small a small .a-file) from www.opengl.org. 6. Finally, to take advantage of the new features in e g GeForce 3 you should look into the many documents provided by nVIDIA. Good luck Magnus Bondesson Department of Computing Science Chalmers University of Technology S-412 96 Gothenburg SWEDEN -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/