Mail Archives: cygwin/2001/10/18/11:16:57
> 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/
- Raw text -