Subject: Re: GL/gl.h in w32api
From: Andre Bleau <[email-masked]>
To: Roger Sayle <[email-masked]>
Cc: [email-masked]
Date: Wed, 11 Apr 2001 09:48:25 -0400

Maybe there is some misunderstanding here.

The OpenGL package for Cygwin _already_ contains the headers for MS 
implementation of OpenGL and GLU. There is no need for "a clean room start" 
or "reverse engineering". The headers support OpenGL 1.2.1, but are fine 
with 1.1.x. What version of OpenGL you have as a DLL depends on your 
graphic card. MS provides 1.1.x in Windows 98/ME/NT/2000, but some graphic 
cards come with a DLL for OpenGL 1.2.1.

As for -mno-cygwin support, it will be included in the next version of 
Cygwin's OpenGL package (probably next week). Headers are now in 
/usr/include/GL and, IMO, should stay there to maintain compatibility. 
There will be a soft link from /usr/include/mingw/GL to /usr/include/GL. 
Maybe there should be another from /usr/include/w32api/GL ? ...maybe not if 
-mno-cygwin support is present, as mentioned above. As for OpenGL over X, 
headers for X-based programs are under /usr/X11R6/include, so there is no 
conflict.

What would be a useful addition is some header for MS wgl functions 
referred to in libopengl32.a:
00000000 T _wglUseFontOutlinesW@32
00000000 T _wglUseFontOutlinesA@32
00000000 T _wglUseFontBitmapsW@16
00000000 T _wglUseFontBitmapsA@16
00000000 T _wglSwapLayerBuffers@8
00000000 T _wglSwapBuffers@4
00000000 T _wglShareLists@8
00000000 T _wglSetPixelFormat@12
00000000 T _wglSetLayerPaletteEntries@20
00000000 T _wglRealizeLayerPalette@12
00000000 T _wglMakeCurrent@8
00000000 T _wglGetProcAddress@4
00000000 T _wglGetPixelFormat@4
00000000 T _wglGetLayerPaletteEntries@20
00000000 T _wglGetDefaultProcAddress@4
00000000 T _wglGetCurrentDC@0
00000000 T _wglGetCurrentContext@0
00000000 T _wglDescribePixelFormat@16
00000000 T _wglDescribeLayerPlane@20
00000000 T _wglDeleteContext@4
00000000 T _wglCreateLayerContext@8
00000000 T _wglCreateContext@4
00000000 T _wglCopyContext@12
00000000 T _wglChoosePixelFormat@8

For those interested, the coming OpenGL package will also include the last 
version of GLUT, GLUI and GLUIX.

At 00:16 2001-04-11 -0600, you wrote:

>Earnie Boyd wrote:
> > I would accept a "clean room" implementation of the Microsoft OpenGL
> > headers and import libraries.  A clean room implementation is where you
> > use only related documentation to create the files.
>
>The w32api distribution already contains implementations of the import
>libraries, presumably clean room.  All that are required are the headers
>to go with them.
>
>I also suspect that a complete "clean room" rewrite of the headers
>isn't necessary.  The OpenGL Architectural Review Board states in their
>FAQ (http://www.opengl.org/developers/faqs/arb_faq.html#3) under the
>topic "What is SGI policy on 'free' implementations of APIs which resemble
>the OpenGL API?"  that "SGI agrees to allow others to copy the OpenGL
>header files, as much as is necessary, for the creation of other
>implementations."
>
>Hence all that would need to be reverse engineered are the Microsoft
>modifications to Silicon Graphics' original header files.  Fortunately
>this has already been done for other open source projects.  Suitable
>starting points for w32api versions of the OpenGL headers are available
>from sources.redhat.com, either from the cygwin opengl package or from
>the cygwin xfree86 package (which contains Mesa).  If permission can
>be obtained to use either of these as starting points for maintaining
>independent header files, the w32api maintainers can ensure that they
>remain in sync with the corresponding import libraries, reflect the
>behaviour of the Microsoft Win32 SDK headers and are installed in the
>correct locations.
>
>
> > I however will not be doing this myself.
>
>Would you be willing to ask Andre Bleau or Brian Paul for permission
>for w32api to use modifications of their OpenGL header files?

André Bleau, ing., associé de recherche
[email-masked]

Laboratoire de recherche en Imagerie et en Orthopédie
École de Technologie Supérieure

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple