Node:OpenGL, Previous:Graphics and Windows, Up:Graphics

10.4 OpenGL and related packages for DJGPP

Q: What is OpenGL? Where can I get a DJGPP-compatible version?

Q: Where can I find a version of MESA for DJGPP?

A: First, a little background. OpenGL is an abstract interface design specification for drawing individual polygons, originally designed by SGI. It is generally regarded as well-designed, relatively high-level, and easy to program. (In contrast, DirectX is low-level and notoriously hard to program, but much faster on machines without hardware acceleration.) There are many different libraries that implement the OpenGL interface.

MESA is a free implementation of OpenGL distributed under LGPL, the GNU Library License. MGL is a 2D graphics library written by SciTech, that includes a copy of MESA and is distributed under a license that is less restrictive than LGPL. (Unfortunately, SciTech failed to mention in their docs that MESA is under LGPL, and thus people who use MGL might inadvertently violate the LGPL because they don't know it applies to their code.) Latest versions of MGL are known to work on MS-DOS, Linux, OS/2, and QNX.

The DJGPP version of MESA doesn't support hardware acceleration, but it does support some 3D chipsets on other platforms, so it should be possible to support that on DOS also, given the motivation.

You can get MESA from <http://www.mesa3d.org>. Latest versions might not work with DJGPP out of the box, but version 2.6 is known to have a full DJGPP support.

Version 4.5 beta 4 of MGL is available from the SciTech FTP site; it includes version 3.0 of MESA that supports DJGPP. It also includes GLUT.