Fedora和Ubuntu下安装OpenGL开发环境配置

下OpenGl开发环境配置

开发OpenGL工程需要3个库文件和对应的头文件:

libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h

这些库在系统中默认都有,使用locate命令验证都在标准库目录(/usr/lib)下:

[root@localhost GL]# locate libglut.so/usr/lib/libglut.so.3/usr/lib/libglut.so.3.9.0[root@localhost GL]# locate libGLU.so/usr/lib/libGLU.so/usr/lib/libGLU.so.1/usr/lib/libGLU.so.1.3.070700[root@localhost GL]# locate libGL.so/usr/lib/libGL.so/usr/lib/libGL.so.1/usr/lib/libGL.so.1.2

但是头文件是没有的,安装开发包之前使用locate验证无法找到相关文件。

安装开发包(需要3个开发包):

yum install mesa-libGL-devel mesa-libGLU-devel //这两个是opengl核心库yum install freeglut-devel //OpenGL Utility ToolKit

安装完之后用rpm命令验证安装包和查询安装的文件以及安装在什么位置(以glut-devel为例):

[root@localhost etc]# rpm -qa | grep glutfreeglut-devel-2.6.0-1.fc12.i686[root@localhost etc]# rpm -ql freeglut-devel/usr/include/GL/freeglut.h/usr/include/GL/freeglut_ext.h/usr/include/GL/freeglut_std.h/usr/include/GL/glut.h/usr/lib/libglut.so

由上可见安装freeglut之后在/usr/include/GL/目录下添加了glut.h,在/usr/lib/下替换了libglut.so文件。

可以在/usr/include/GL下使用ls验证一下安装的头文件:

[root@localhost GL]# lsfreeglut_ext.h  freeglut_std.h  gl.h         glu.h         glut.h    glx.h     glx_mangle.h  glxproto.h   internalfreeglut.h      glext.h         gl_mangle.h  glu_mangle.h  glxext.h  glxint.h  glxmd.h       glxtokens.h

好了,相关库和头文件都一切就绪,我们可以来写一个最简单的例子程序:

#includevoid display(){    glClear(GL_COLOR_BUFFER_BIT);    glBegin(GL_POLYGON);    glVertex2f(-0.5,-0.5);    glVertex2f(-0.5,0.5);    glVertex2f(0.5,0.5);    glVertex2f(0.5,-0.5);    glEnd();    glFlush();}int main(int argc,char *argv[]){    glutInit(&argc,argv);    glutCreateWindow("Simple");    glutDisplayFunc(display);    glutMainLoop();    return 0;}

使用如下命令编译:

gcc simple.c -o  -lglut -lGL -lGLU -lm -lX11 -lm

运行./出现一个画了白色矩形的窗口:

===

下安装OpenGL配置

OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的,硬体由 OpenGL 核心去沟通,因此只要显示卡支援 OpenGL,那么程式就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程式。

安装

首先不可或缺的就是编译器与基本的函式库,如果系统没有安装的话,依照下面的方式安装:

    $ sudo apt-get install build-essential

安装OpenGL Library

    $ sudo apt-get install libgl1-mesa-dev

安装OpenGL Utilities

    $ sudo apt-get install libglu1-mesa-dev
   OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。

安装OpenGL Utility Toolkit

    $ sudo apt-get install libglut-dev       OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。       注意:在这一步的时候,可能会出现以下情况,shell提示:    Reading package lists... Done    Building dependency tree    Reading state information... Done    E: Unable to locate package libglut-dev

将上述$ sudo apt-get install libglut-dev命令改成$ sudo apt-get install freeglut3-dev即可。

测试

示例test.c源码:

    #include    void init(void)    {        glClearColor(0.0, 0.0, 0.0, 0.0);        glMatrixMode(GL_PROJECTION);        glOrtho(-5, 5, -5, 5, 5, 15);        glMatrixMode(GL_MODELVIEW);        gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);        return;    }    void display(void)    {        glClear(GL_COLOR_BUFFER_BIT);        glColor3f(1.0, 0, 0);        glutWireTeapot(3);        glFlush();        return;    }    int main(int argc, char *argv[])    {        glutInit(&argc, argv);        glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);        glutInitWindowPosition(0, 0);        glutInitWindowSize(300, 300);        glutCreateWindow("OpenGL 3D View");        init();        glutDisplayFunc(display);        glutMainLoop();        return 0;    }

编译程式时,执行以下指令:

    $ gcc -o test test.c -lGL -lGLU -lglut

执行:

    $ ./test

配置IDE,用cmake作为构建工具

其实opengl的程序的cmake写法很简单,因为在下,头文件已经自动放到系统include路径了,因此只需要在链接的时候加入链接库,和前面用gcc/g++编译的设定几乎一致,无非是把参数写在CMakeLists.txt中。比如用clion作为IDE,那么对应的CMakeLists.txt为:

cmake_minimum_required(VERSION 3.3)project(hello)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")set(SOURCE_FILES main.cpp)add_executable(hello ${SOURCE_FILES})target_link_libraries(${PROJECT_NAME} GL GLU glut)   #此行为新增

当然,如果你觉得写makefile很容易,那也可以去写的,关键点还是链接库要加入 GL GLU glut三个。

关于cmake的用法,可以参考 ,即在/usr/lib64/pkgconfig路径下查看对应的pc文件。

glew.h头文件

目前还没有用到glew.h头文件,前面fedora的安装中也没有相关的安装。安装方法:

sudo dnf install glew-devel#会安装glew-devel 和 libGLEWmx两个rpm包

如果是ubuntu,看起来应该这样安装:

sudo apt-get install libglew-dev

《OpenGL编程指南(原书第8版)》——计算着色器 

OpenGL编程指南(原书第8版) 中英文PDF 高清晰版 

OpenGL编程指南(原书第7版)中文扫描版PDF 下载见  

OpenGL超级宝典 第4版 中文版PDF+英文版+源代码 见 

OpenGL 渲染篇

Ubuntu 13.04 安装 OpenGL

OpenGL三维球体数据生成与绘制【附

Ubuntu下OpenGL编程基础解析

如何在Ubuntu使用eclipse for c++配置OpenGL  

更多《OpenGL超级宝典学习笔记》相关知识 见 

转载自:https://www.linuxidc.com/Linux/2015-10/124449.htm

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《Fedora和Ubuntu下安装OpenGL开发环境配置
本文地址:https://www.zhiletu.com/archives-5030.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微