Mesa es una biblioteca de gráficos 3D con un conjunto de herramientas que consta de más de 250 herramientas individuales. La biblioteca ofrece una amplia gama de algoritmos y funciones gráficas, y se utiliza tanto en software comercial como de código abierto. Mesa es también el motor gráfico subyacente en el popular motor de juegos Unity.
Mesa comenzó en 1993 como un proyecto de código abierto de Brian Paul, profesor de la Universidad de Wisconsin-Madison. Al principio, el proyecto se llamaba GLU, pero más tarde pasó a llamarse Mesa. El cambio de nombre se hizo para evitar confusiones con la biblioteca GLU, que forma parte de la biblioteca estándar OpenGL.
Mesa está escrito en el lenguaje de programación C y se publica bajo los términos de la licencia MIT. El proyecto está gestionado por un modelo de gobierno abierto, con contribuciones de una comunidad de desarrolladores.
Mesa es una biblioteca multiplataforma, con implementaciones para Linux, Windows, macOS y Android. La biblioteca se ha portado a una amplia variedad de arquitecturas, incluidas x86, ARM y PowerPC.
Mesa proporciona un renderizador de software, llamado llvmpipe, que utiliza la infraestructura del compilador LLVM para compilar programas escritos en el lenguaje de sombreado OpenGL (GLSL) a código nativo. llvmpipe se utiliza como alternativa cuando no se dispone de gráficos acelerados por hardware.
Mesa también proporciona una arquitectura de controladores Gallium3D, que permite implementar controladores gráficos de forma portátil. Los controladores Gallium3D son utilizados por varias tarjetas gráficas, como AMD Radeon, Intel Iris y Nvidia GeForce.
El conjunto de herramientas Mesa incluye una serie de utilidades para depurar, perfilar y optimizar programas gráficos. El conjunto de herramientas también incluye un compilador de sombreadores, llamado glslang, que puede utilizarse para compilar sombreadores GLSL a la representación intermedia (IR) de Mesa.
Mesa se utiliza en una gran variedad de proyectos de software, tanto de código abierto como comerciales. Entre los proyectos que utilizan Mesa destacan el entorno de escritorio GNOME, el navegador Firefox, la suite ofimática LibreOffice y el motor de juegos Unity.
Mesa es una potente biblioteca gráfica que ofrece una amplia gama de funciones y algoritmos. La biblioteca se utiliza en una gran variedad de proyectos de software, tanto de código abierto como comercial. El conjunto de herramientas de Mesa incluye una serie de utilidades que pueden utilizarse para depurar, perfilar y optimizar programas gráficos.