opengl

Magnus Bondesson bond@md.chalmers.se
Thu Oct 18 02:01:00 GMT 2001


> 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/



More information about the Cygwin mailing list