mesa(OpenGL)安装

本文介绍在CentOS 7环境下Mesa的两种安装方式,并解决了安装过程中遇到的libdrm版本问题。此外,还提供了一个使用OpenGL和GLUT库绘制三角形的C语言示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
 *  -1 to 1, 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( 0, 0, 0, 1 );  // (In fact, this is the default.)
    glClear( GL_COLOR_BUFFER_BIT );

    glBegin(GL_TRIANGLES);
    glColor3f( 1, 0, 0 ); // red
    glVertex2f( -0.8, -0.8 );
    glColor3f( 0, 1, 0 ); // green
    glVertex2f( 0.8, -0.8 );
    glColor3f( 0, 0, 1 ); // blue
    glVertex2f( 0, 0.9 );
    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(500,500);         // Size of display area, in pixels.
    glutInitWindowPosition(100,100);     // 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 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值