Quote:
Originally Posted by v00d00101
Look for the Red book and Blue book, apparently they have a lot of information that you need to read. Also the site below contains more info that will be useful. http://nehe.gamedev.net/
|
I do have the red book, and I will look for any Linux/UNIX information in it.
I found one section in a book named "the OpenGL superbible 3rd edition" that looks like it has some hints for me. And I found a couple very old articles from kilgard that might help.
Of course, I do have a huge program I wrote 20 years ago on top of XWindows and xlib - a software development environment with compiler/debugger/GuiDesigner, so I can get some first order hints from that. But that old program contains zero OpenGL, so the role of GLX seems very important in my current OpenGL project.
Somehow I need to make sure the appropriate headers and libraries get included and linked in --- because I see files from many organizations (some of which are not complementary). Just for example, here are some file-groups:
##### nvidia #####
/usr/include/nvidia/GL/gl.h ----- include this instead of other gl.h ???
/usr/include/nvidia/GL/glext.h ----- include this instead of other glext.h ???
/usr/include/nvidia/GL/glx.h ----- include this instead of other glx.h ???
/usr/include/nvidia/GL/glxext.h ----- include this instead of other glxext.h ???
/usr/include/nvidia/cuda/cuda.h ----- include this for GPGPU in video-card ???
/usr/include/nvidia/cuda/cudaGL.h ----- include this for GPGPU via OpenGL ???
##### OpenGL == KhronosGroup #####
/usr/include/GL/glext.h ----- do not include this due to nvidia version ???
/usr/include/GL/glxext.h ----- do not include this due to nvidia version ???
##### XFree86 #####
/usr/include/GL/glxint.h ----- include to make XWindows bind to OpenGL ???
/usr/include/GL/glxmd.h ----- include to make XWindows bind to OpenGL ???
/usr/include/GL/glxproto.h ----- include to make XWindows bind to OpenGL ???
/usr/include/GL/glxtokens.h ----- include to make XWindows bind to OpenGL ???
##### SiliconGraphics #####
/usr/include/GL/internal/glcore.h ----- ?????
/usr/include/GL/glu.h ----- ????? do not include unless we want GLUT ???
/usr/include/GL/GLwDrawA.h ----- ???? ignore this ??
/usr/include/GL/GLwDrawAP.h ----- ????? ignore this ??
/usr/include/GL/GLwMDrawA.h ----- ????? ignore this ??
/usr/include/GL/GLwMDrawAP.h ----- ????? ignore this ??
##### precision insight #####
/usr/include/GL/internal/dri_interface.h ----- ????? ignore this ??
/usr/include/GL/xmesa_x.h --- for building normal ----- ????? ignore this ??
/usr/include/GL/xmesa_xf86.h --- for building server ----- ????? ignore this ??
##### Mesa3D == OpenGL clone #####
/usr/include/GL/gl.h ----- ????? ignore this ??
/usr/include/GL/gl_mangle.h ----- ????? ignore this ??
/usr/include/GL/glu_mangle.h ----- ????? ignore this ??
/usr/include/GL/glx.h ----- ????? ignore this ??
/usr/include/GL/glx_mangle.h ----- ????? ignore this ??
/usr/include/GL/osmesa.h ----- ????? ignore this ??
/usr/include/GL/xmesa.h ----- ????? ignore this ??
----------
Well, those are the .h include files that I noticed off hand. Who knows how many more may be lurking in some other directories and subdirectories? Surely not me!
And this completely ignores the problem --- ???where??? are all the appropriate pieces that need to be linked into the executable during the build process?????
Got me batman.
Nonetheless, perhaps somebody out there in nvidia linux land can immediately stare at my guesses above --- and set me straight! To clarify what I think I understand:
1: XWindows includes and libs are from XFree86.
2: OpenGL includes and libs are from nvidia.
3: Mesa files are for computers with video cards that come without OpenGL files.
4: SiliconGraphics files are for unknown-to-me.
5: PrecisionInsight has some product that interacts with Mesa - sometimes.
----------
I shall continue my reading, experimenting, and reporting to this forum.
Thanks for any advice and information any of you choose to give.