MESA vs. OpenGL

Started by
11 comments, last by SDB 22 years, 4 months ago
You can download Nvidia drivers to get 3D hardware acceleration on linux as I understand it Then use xlib together with glx calls I think to set up the rendering context, window, etc. XFree86 website has a list of xlib function calls, there''s also a free online book on xlib. Or you could use mesa but I don''t know if it will hook up to nvidia drivers or instead use software library i.e. takes the slow path
Advertisement
Thanks JD. Now to search for some documentation on it Good thing it is a long weekend, I have a feeling I will be doing a lot of reading.



SDB - If you are the only one that can fix it, why are you complaining to me?
Wait, wait, wait.

You don''t really develop against OpenGL vs. Mesa under Linux. As long as you link dynamically, and don''t use a proprietary extension of one implementation or the other, they can be switched out on the end users system, by putting the libraries in the appropriate place.

It''s basically just a driver for people who can''t get a hardware accelerated OpenGL because of the type of card they''re using.

It''s the same way that OpenGL works under Windows. Microsoft distributes a software-renderer only OpenGL implementation, but if you have a card that can support hardware accelerated OpenGL, installing the drivers for the card replaces the OpenGL put there by MS with an implementation created by the card vendor. Likewise, you can also put the Mesa libraries in their place(compiled for Windows, of course), and use them instead, without very many glitches (I had to do this once on a machine that used an old (ick) Trident card).

So, you code for OpenGL, and rely on the user to have the correct libraries for their hardware (pointing them to Mesa and vendors, if you feel nice)
As far as hardware accelerated drivers for Linux, I know nVidia supplies a set, and some of the more expensive "workstation" class do as well. Mesa will accelerate for 3dfx (not very well, if I recall correctly). The SGI implementation is a software renderer (including source) that is meant to be used as an example for card vendors to base their drivers off of. The SGI implementation would not be used for production code, and probably isn''t of much interest to most of us (unless there are any video card designers in the audience).

I think the majority of the confusion comes from the fact that Mesa has to dance around calling themselves an OpenGL implementation (If I remember correctly, you have to pay a fair sum of money to officially be tested for compliance).
Hope this helps. In short, use whichever one works best for you, and let your players do the same.

This topic is closed to new replies.

Advertisement