I am using a very simple 2-D opengl program to visualize numerical results. Recently, I moved everything on a 64-bit machine and the opengl window doesnt work anymore. The program works fine and doesnt display any error. Here are the “symptoms”:
I use the command “plot graph” to visualize whatever is in the graph. When I type it the first time the opengl window remains blank, but when I type it the second time I can see the results for an instant and then the window is refreshed blank.
The exact same code compiled on a 32-bit machine works without problems.
Do you know what this could be? Is there some known problem with 64-bit machines? Can this be caused by the variable initialization or by the different compiler?
I rely on this program for work, any help will be highly appreciated.
Thanks in advance
P.S. The machine runs ubuntu.
P.P.S. glxgears work fine.
I’ve had difficulty with NVIDIA’s drivers on 64-bit machines. Different symptoms, though. In my case I’d get a crash every time an OGL context was destroyed explicitly----so typically on exit of any of the SDK sample programs, for instance.
The Windows TerminateProcess() function allows me to avoid this problem, but it’s a kludge.
Thanks for the prompt reply Lindley,
also my machine has a NVIDIA card:
nVidia Corporation NV44 [Quadro NVS 285] (rev a1)
I used “envy” to install the latest driver from the nvidia website… mhhhh
I’ve been writing/compiling/running my opengl code for both x86 and x64 for several years now without any (significant) problem.
So far, all apps i’ve played with that had issues, the issues with were due to coding errors (usually code not written to support x64 properly).
Your problem description is at such a high level i would resist blaming it on x64 drivers before debugging the code.
Visual Studio 2005
NVidia 7800 GTX
Thanks for your post cmk,
you may be right and it could have something to do with the code. I dont have any experience in coding opengl on 64 bit machines. The opengl part of the code is not that complex, are you aware of basic differences between coding opengl on 32 and 64 bit machines?
There isn’t anything OpenGL specific.
Most problems are related to wrongs assumptions about data type sizes e.g. assuming pointers are 4 bytes, assuming time_t is 4 bytes, …
You were absolutely right. On the old machine “glFlush;” was used while on the new machine I had to change it to “glFlush();”. I think this has probably more to do with the libraries than the machine itself.