I’m currently making a cross-platform application,
using Qt/C++/OpenGL, and I develop on a Linux system.
Now, I’m porting my app to Macintosh, and it works (almost) fine.
In fact, it seems that GLU objects (like gluNurbsCurve, or gluDisk), aren’t being rendered :-/
Everything else is rendered fine.
The problem is I have no idea where the problem comes from !
Qt ? GLU ? MacOS ?
Oh… since I asked an off-topic question I guess I could contribute something to the conversation…
I seriously doubt anybody else is to blame for GLU’s misbehavior. I can think of two plausable reasons. One, you have a memory/stack bug that you are getting away with on one platform that is causing the GLUquadricObj pointer to become corrupted. The other is that you might have backface culling on/off causing the geometry to “disappear”. If you are not explicitly setting the front face to GL_CW or GL_CCW you might find the defaults are not set correctly (I have seen some sillyness with default values changing from driver to driver in the past).
I had similar problems at one point, and discovered it had something to do with the GLUQuadricObj being specific to the rendering context. That is, if I switched contexts (e.g. to render into a memory buffer rather than to the screen), the quadrics disappeared or were rendered incorrectly. The problem went away as long as I generated a new GLUQuadricObj after every context switch.
BTW, I’ve used wxWidgets and OpenGL together for years, for the app I’m developing (Cn3D). It’s been great for porting across unix, OSX, and Windows. I’d definitely recommend it; in fact, I contributed/enhanced a small portion of the code behind the wxGLCanvas.