I have been doing a load of coding stuff for a uni project, some has been developed on Irix, some on win32. All of this has been using glut. But now I have two problems.
I have two questions:
I need to access a hi-res frame counter on the SGi’s. I have that sorted on win32, but I haven’t been able to impliment an irix equivalent. Any suggestions?
I wish to make use of various openGL extensions on win32, that I do not have access to on SGi’s. Although I’ve downloaded quite a few examples, they all seem to be using VC++. I’m only used to makefiles, so although I try to reproduce all that is listed in the code, I still get linker errors. Is there another .dll or lib I need in order to get these to compile. It never seems to work otherwise.
I have used both the profile database (libpdb) and the high res counter on our onyx to get frame rates. I am not sure where the man stuff is located for pdb, but I remember having to install new packages from Irix6.5 to get hold of it.
libpdb is in
/usr/share/src/OpenGL/toolkits/pdb
if you install the ?!something?! package.
alternatively, check out syssgi manpage and the example of getting to the high resolution clock.
multi-texturing isn’t supported on Onyx. I think that the Onyx is only OpenGL 1.1 compliant under Irix 6.5, and multi-texturing is an extension which doesn’t necessarily have to be implemented for core functionality.
So that’s probably where the unresolved external error message is coming from.
You need to check if the extension is defined - glutExtensionSupported is a good way to start. Then code appropriately for the hardware.
The Onyx has a load of bandwidth so a multi-pass approach would probebly work well on this machine and use multi-texturing on machines which do support it.
Multitexturing is also not inherently supported by Windows OpenGL. Under Windows, you need to query the GL extensions string to see if the appropriate extension is supported, and then use wglGetProcAddress() to load the proceedure into your own function pointer at run time. For example: