Mesa 3D is an open source
3D computer graphics3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
libraryIn computer science, a library is a collection of subroutines or classes used to develop software. Libraries contain code and data that provide services to independent programs. This allows the sharing and changing of code and data in a modular fashion. Some executables are both standalone programs...
that provides a generic
OpenGLOpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
implementation for rendering three-dimensional graphics on multiple
platformsIn computing, a platform describes some sort of hardware architecture or software framework , that allows software to run...
. It was initially developed by
Brian PaulBrian Paul is a computer programmer who wrote and continues to maintain the source code for the open source Mesa graphics library. Paul began programming initial source code in August 1993. Mesa is a free software/open source graphics library that provides a generic OpenGL implementation for...
in August 1993.
As of April 2008, it is the only commonly known, fully
open sourceOpen source is an approach to the design, development, and distribution of software, offering practical accessibility to a software's source code. Some consider open source as one of various possible design approaches, while others consider it a critical strategic element of their operations...
implementation of OpenGL which is continually updated to support latest OpenGL specification. It is widely used, most importantly by the
X.OrgX.Org refers to several things related to the X Window System:* X.Org, the organisation in charge of X standards from 1999 * The X.Org Foundation, a community-based foundation which took over X stewardship in 2004...
implementation of the
X Window SystemThe X Window System is a computer software system and network protocol that provides a graphical user interface for networked computers, and was initially developed as part of Project Athena...
where it serves as the OpenGL core for the open-source X.Org/DRI OpenGL drivers.
Mesa 3D is an open source
3D computer graphics3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
libraryIn computer science, a library is a collection of subroutines or classes used to develop software. Libraries contain code and data that provide services to independent programs. This allows the sharing and changing of code and data in a modular fashion. Some executables are both standalone programs...
that provides a generic
OpenGLOpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
implementation for rendering three-dimensional graphics on multiple
platformsIn computing, a platform describes some sort of hardware architecture or software framework , that allows software to run...
. It was initially developed by
Brian PaulBrian Paul is a computer programmer who wrote and continues to maintain the source code for the open source Mesa graphics library. Paul began programming initial source code in August 1993. Mesa is a free software/open source graphics library that provides a generic OpenGL implementation for...
in August 1993.
As of April 2008, it is the only commonly known, fully
open sourceOpen source is an approach to the design, development, and distribution of software, offering practical accessibility to a software's source code. Some consider open source as one of various possible design approaches, while others consider it a critical strategic element of their operations...
implementation of OpenGL which is continually updated to support latest OpenGL specification. It is widely used, most importantly by the
X.OrgX.Org refers to several things related to the X Window System:* X.Org, the organisation in charge of X standards from 1999 * The X.Org Foundation, a community-based foundation which took over X stewardship in 2004...
implementation of the
X Window SystemThe X Window System is a computer software system and network protocol that provides a graphical user interface for networked computers, and was initially developed as part of Project Athena...
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
applicationsApplication software is a computer program that functions and is operated by means of a computer, with the purpose of supporting or improving the software user's work. In other words, it is the subclass of computer software that employs the capabilities of a computer directly and thoroughly to a...
which run on
Unix-likeA Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
platforms such as
LinuxLinux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed,...
.
It supports OpenGL version 2.1.
History
Initially, Mesa 3D started off by rendering all
3D computer graphics3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
on the
CPUThe Central Processing Unit or processor is the portion of a computer system that carries out the instructions of a computer program, and is the primary element carrying out the computer's functions. This term has been in use in the computer industry at least since the early 1960s...
, but the architecture of Mesa 3D was open to implement
graphics processorA graphics processing unit or GPU is a specialized processor that offloads 3D graphics rendering from the microprocessor. It is used in embedded systems, mobile phones, personal computers, workstations, and game consoles...
-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. The library was one of the first drivers to support hardware-acceleration via the 3dfx
Glide APIGlide is a proprietary 3D graphics API developed by 3dfx Interactive for their Voodoo Graphics 3D accelerator cards. It was dedicated to gaming performance, supporting geometry and texture mapping primarily, in data formats identical to those used internally in their cards...
driver 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 InfrastructureIn computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...
(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
The OpenGL Architecture Review Board is an industry consortium that governed the OpenGL specification.It was formed in 1992, and defined the conformance tests, approved the OpenGL specification and advanced the standard...
.
- 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
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. 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 Gallium3D
Gallium3D is a software library for 3D graphics acceleration being developed by Tungsten Graphics, an engineering company with expertise in Linux and open-source graphics technologies...
architecture) used in Sony PlayStation 3, limited Nvidia support, S3 Virge & Savage chipsets, VIA chipsets, Matrox G200 & G400, SiliconMotion and more....