Mesa是一个类OpenGL(http://www.opengl.org)的开源实现
环境:
centos 7
安装方法1:
步骤
问题及解决:
在“./configure“时报告以下错误:
Requested ‘libdrm_intel >= 2.4.61’ but version of libdrm_intel is 2.4.60
解决方法:安装libdrm更高版本,找到这个程序的pc文件,在控制台添加其路径:
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
安装方法2:
yum install mesa*
yum install glut
安装测试:
查看是否支持3D渲染:
glxinfo |grep rendering
查看glx的安装信息:
glxinfo |grep “OpenGL vendor”
glxinfo |grep “OpenGL version”
/*
* As a first example of using OpenGL in C, this program draws the
* classic red/green/blue triangle. It uses the default OpenGL
* coordinate system, in which x, y, and z are limited to the range
* - to , and the positive z-axis points into the screen. Note
* that this coordinate system is hardly ever used in practice.
*
* When compiling this program, you must link it to the OpenGL library
* and to the glut library. For example, in Linux using the gcc compiler,
* it can be compiled with the command:
*
* gcc -o first-triangle first-triangle.c -lGL -lglut
*/
#include <GL/gl.h>
#include <GL/glut.h> // freeglut.h might be a better alternative, if available.
void display() { // Display function will draw the image.
glClearColor( , , , ); // (In fact, this is the default.)
glClear( GL_COLOR_BUFFER_BIT );
glBegin(GL_TRIANGLES);
glColor3f( , , ); // red
glVertex2f( -, - );
glColor3f( , , ); // green
glVertex2f( , - );
glColor3f( , , ); // blue
glVertex2f( , );
glEnd();
glutSwapBuffers(); // Required to copy color buffer onto the screen.
}
int main( int argc, char** argv ) { // Initialize GLUT and
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE); // Use single color buffer and no depth buffer.
glutInitWindowSize(,); // Size of display area, in pixels.
glutInitWindowPosition(,); // Location of window in screen coordinates.
glutCreateWindow("GL RGB Triangle Setup Test"); // Parameter is window title.
glutDisplayFunc(display); // Called when the window needs to be redrawn.
glutMainLoop(); // Run the event loop! This function does not return.
// Program ends when user closes the window.
return ;
}