Different graphics cards: GeForce2, GeForce4, Vodoo3, ATI Radeon 7500

I run the same source codes using different graphics card and they give different display. They have the same resolution settings.

Msi nVidia geforce4 mx 440 and NVidia Quadro 2 gave the incorrect display. As shown by the error indicated at http://www12.brinkster.com/ongtw/problem.html They did not draw the blue colour line and did not draw the cyan colour polygon correctly, which was written in source code, as compare to the correct picture.

Whereas, 3dfx Voodoo3 3000, nVidia GeForce2 MX 2D/3D and ATI Mobility Radeon 7500 32MB DDR SDRAM gave the correct wanted display as shown in the same page where they correctly draw the blue colour line and also the cyan colour polygon.

What are the possible reasons if a source codes give different graphics display when different graphics cards are used?


Mabey they are not the same versions of opengl. You should find out if all the versions are the same.

I have a similar problem which you have when using my laptop with a GEFORCE4 440 MX card. In my case I have a program whereby I have a shaded and wire frame mesh superimposed on top. With a GEFORCE2 graphics card, the program works fine. With the GEFORCE4 440, even when I switch off the shading and use the wire frame mesh, I get a solid flat shading.

is the depth buffer getting in the way, it looks like its ‘fighting’ for that line to be inback of the map thing. If so try disabling the depth buffer when you draw the 2D stuff.

Originally posted by tyl:
What are the possible reasons if a source codes give different graphics display when different graphics cards are used?

  1. You’re using extensions that are not supported on all cards.
    Solution: well, either don’t rely on vendor specific extensions, or write different paths for different extension sets. Delphi3D hosts a nifty database of supported extensions.

  2. Your driver versions do not match, which means they can either have bugs that were already fixed in later drivers (eg the famous GL_CLAMP issue), or functionality you want to use is not yet supported (eg VBO). When testing different cards from the same vendor, you should use the same driver version.
    Solution: Use the same detonator version for all NV based cards and similarly for ATI hw. In general, you should use the most recent drivers you can get your hands on.

  3. One card/driver combo is buggy, while the other is not. If you’re sure you’ve found a bug, ie you observe behaviour that clearly contradicts gl specifications, write the smallest possible demonstration application to reproduce the bug and send it to the chip vendor’s dev rel department (along with a meaningful description and source code).

edit: Whoops
4. Your hitting a hardware precision limitation. Because hardware implementations vary wildly, you can’t do anything about that. You should adjust your app to make the best possible use of precision to avoid such problems in general.
(for z-fighting this means pushing out the near plane and trying GL_LEQUAL instead of GL_LESS, among other things)

[This message has been edited by zeckensack (edited 07-19-2003).]