Mesa (computer graphics)
Developer(s) | Tungsten Graphics, Inc. |
---|---|
Initial release | August 1993 |
Stable release | 7.2
/ September 20, 2008 |
Repository | |
Written in | C |
Operating system | Cross-platform |
Type | Graphics library |
License | MIT License |
Website | mesa3d.org |
Mesa 3D is an open source [1][2] 3D computer graphics library that provides a generic OpenGL implementation for rendering three-dimensional graphics on multiple platforms. It was initially developed by Brian Paul in August 1993. Though Mesa 3D is not an officially licensed OpenGL implementation, the structure, syntax and semantics of the application programming interface is that of OpenGL.
As of April 2008, it is the only commonly known, fully open source implementation of OpenGL which is continually updated to support latest OpenGL specification. It is widely used, most importantly by the X.Org implementation of the X Window System where it serves as the OpenGL core for the open-source X.Org/DRI OpenGL drivers. X.Org provides the essential functionality used by most graphical applications which run on Unix-like platforms such as Linux.
The new Gallium3D architecture will soon replace Mesa 3D, adding compatibility to more recent version of OpenGL, recent card functionalities and simplified driver architecture.
It supports OpenGL version 2.1.
History
Initially, Mesa 3D started off by rendering all 3D computer graphics on the Central Processing Unit, but the architecture of Mesa 3D was open to implement graphics processor-accelerated 3D rendering in Mesa 3D. Once 3D graphics cards became mainstream on PC hardware, companies began working on adding support for hardware-accelerated 3D rendering to Mesa 3D. One of the first drivers to support hardware-acceleration was the 3dfx driver for the Glide API for the very popular Voodoo I/II graphics cards and others as well. All rendering was done indirectly in the X server, leaving some overhead and speed lagging behind the theoretical maximum. The Direct Rendering Infrastructure (DRI) finally succeeded in providing an interface for direct 3D rendering by the OpenGL applications and was officially added to Mesa 3D.
Features
- In its current form, Mesa 3D is available and can be compiled on virtually all modern platforms.
- Though not an official OpenGL implementation for licensing reasons, the Mesa 3D authors have worked to keep the API in line with the most current OpenGL standards and conformance tests, as set forth by the OpenGL Architecture Review Board.
- Whilst Mesa 3D supports several hardware graphics accelerators, it may also be compiled as a software-only renderer. Since it is also free/open source software, it is possible to use it to study the internal workings of an OpenGL-compatible renderer.
- It is sometimes possible to find subtle bugs in OpenGL applications by linking against Mesa 3D and using a conventional debugger to track problems into the lower level library.
- Already (at least partially) 3D acceleration managed cards : ATI Mach 64 and r100 to r500 chipsets, Intel chipsets, IBM/Toshiba/Sony Cell chip (in Gallium 3D architecture) used in Sony PlayStation 3, limited Nvidia support, S3 Virge & Savage chipsets, VIA chipsets, Matrox G200 & G400, SiliconMotion and more...[3].