前言
OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬体由 OpenGL 核心去沟通,因此只要显示卡支援 OpenGL,那么程式就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程式。接下来,我们就一步一步的在Ubuntu底下建立开发OpenGL应用程式的环境。安装
建立基本编译环境
首先不可或缺的,就是编译器与基本的函式库,如果系统没有安装的话,请依照下面的方式安装:
$ sudo apt-get install build-essential
安装OpenGL Library
接下来要把我们会用到的 Library 装上去,首先安装 OpenGL Library
$sudo apt-get install libgl1-mesa-dev
安装OpenGL Utilities
OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。接下来我们安装OpenGL Utilities$sudo apt-get install libglu1-mesa-dev
安装OpenGL Utility Toolkit
OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。
$sudo apt-get install libglut-dev
注意在这一步的时候,可能会出现以下情况,shell提示:正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 E: 未发现软件包 libglut-dev如果出现上述情况,请输入将上述$sudo apt-get install libglut-dev命令改成$sudo apt-get install freeglut3-dev就行拉,
设定编译参数与编译
在这之前,我们需要一个测试范例,example.c 如下:
#include <GL/glut.h>
void init();
void display();
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;
}
void init(){
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);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0, 0);
glutWireTeapot(3); glFlush();} 有了测试范例、基础编译环境与各个 OpenGL 相关的函式库之后,我们所需要做的就是告诉编译器我们有安装 OpenGL 函式库,编译程式时要连结这些函式库。$gcc example.c -c -lGL -lGLU -lglut
因为我们安装了 OpenGL Utility Toolkit ,它是建立在 OpenGL Utilities 与 OpenGL Library 之上,因此我们可以简单连结 OpenGL Utility Toolkit 的函式库就可以达到我们的目地了。下面的编译参数跟上面的是同样效果:$gcc example.c -c -lglut
下面简单说明一下所使用的 gcc 参数-l<Library> 告诉 gcc 去连结指定 Library -o<file> 指定执行档的输出名字
执行
接下来我们就可以来看看我们的结果,如果看到茶壶图片,代表成功了!$./example.out
完毕。更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2Ubuntu 12.04下安装QT 4.0Ubuntu 12.04安装GTK2.0相关资讯 OpenGL
- OpenGL显示图片 (08月07日)
- OS X的CAOpenGLLayer中如何启用 (12/13/2015 16:26:18)
- OpenGL编程指南(原书第8版) 中英 (08/25/2015 08:34:15)
| - OpenGL中旋转平移缩放等变换的顺序 (03月10日)
- Fedora和Ubuntu下安装OpenGL开发环 (10/23/2015 15:14:17)
- OpenGL中投影矩阵的推导 (08/25/2015 08:33:52)
|
本文评论 查看全部评论 (2)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
- 本站有权在网站内转载或引用您的评论
- 参与本评论即表明您已经阅读并接受上述条款
| |