home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
vos2-121.zip
/
v
/
include2
/
GL
/
readme
< prev
Wrap
Text File
|
1998-11-04
|
3KB
|
60 lines
Some notes on the OPENGL for OS/2 implementation from IBM
=========================================================
The first thing to know is that Warp ships with OPENGL v1.0,
but there is a freely available update to OPENGL 1.1 from
IBM.
For many applications, the v1.0 DLL's run a lot faster than
the v1.1 ones, but some applications may require the advanced features
that v1.1 offers. Another thing to keep in mind is that a program
compiled with the v1.0 libraries will not run under the v1.1 DLL's,
but an application compiled with the v1.1 libraries will run under both.
Since apps compiled with version 1.1 are backwards compatible, I will
supply the needed v1.1 OPENGL files with V.
For programmers, OPENGL "include" headers are needed. These are not
included with the warp OPENGL install, so they are included in the
include2\GL directory. Also, you will need to link with the opengl.lib
file, so I include that as well in the lib\os2 directory.
The latest headers and other OpenGL stuff can be found at
ftp://ftp.austin.ibm.com/pub/developer/os2/OpenGL
ogl9635.zip - appears to be the latest v1.0 stuff
oglgold.zip - appears to be the latest v1.1 stuff
Notes specific to OPENGL for OS/2
=================================
1) Borland has a problem with the way gl.h attempts to set the APIENTRY
variable based upon what compiler is used. In principle the header
should detect Borland's compiler (__BORLANDC__) and set APIENTRY to
__syscall. In practise it sets it to blank and you can't link anything.
The problem seems to be that gl.h looks for the OS2 variable to be set,
and Borland doesn't do this by default, so it then ignores the rest of
the code that sets the APIENTRY stuff.
I #define OS2 in the source code before calling gl.h, then the header
file works fine. Note that all the samples included with the IBM
package do not do this, so Borland users will need to add this fix
to all the IBM sample code.
2) The way the include files include other files is a complete
debacle.
gl.h includes no others
glu.h includes GL/gl.h
glut.h includes gl.h glu.h
pgl.h includes gl.h
tk.h includes GL/gl.h GL/pgl.h GL/glu.h
aux.h includes pgl.h gl.h glu.h
You see that some add the GL/ subdirectory and others don't, so in
general you need to have your INCLUDE path define both paths with and
without the GL/ subdirectory. Could this be more ill conceived...
I don't think so!! Anyway, I modified pgl.h to use GL/gl.h so that
at least for V everything is using the GL/ subdirectory.