Ubuntu 12.10安装OpenGL
http://wiki.ubuntu-tw.org/index.php?title=Howto_Install_OpenGL_Development_Environment
前言
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 <GL/glut.h>
- 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

Ubuntu 12.10安装OpenGL的更多相关文章
- 解决在ubuntu 12.10安装vmware-tools实现文件共享问题
解决在ubuntu 12.10安装vmware-tools出现的“The path "" is not a valid path to linux-headers-3.5.0-17 ...
- Ubuntu 12.10 安装 jdk-7u10-linux-x64.tar.gz(转载)
在Ubuntu 12.10下安装 jdk-7u10-linux-x64.tar.gz 总的原则:将jdk-7u10-linux-x64.tar.gz压缩包解压至/usr/lib/jdk,设置jdk环境 ...
- Ubuntu 12.10 安装VirtualBox增强功能
原文链接:http://fengbaoxp.iteye.com/blog/1871825 Ubuntu 12.10 Desktop 首先,通过VirtualBox菜单(设备->安 ...
- Ubuntu 12.10安装QQ2012
[日期:2012-11-05] 在最新的Ubuntu 12.10下安装QQ2012,请根据自己的机器类型下载后按照下面的32位或64位安装说明安装. 下载网址:http://www.longene.o ...
- Ubuntu 12.10 安装vim出错
在Ubuntu 12.10中安装vim时出现了如下提示: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果您用的是 unstable ...
- ubuntu 12.10安装VIM
使用命令:sudo apt-get install vim vim-gtk 可能安装时出错,可用下面更新系统,再执行上面的安装命令. 更新:sudo apt-get update
- Ubuntu 12.10 安装JDK7
1.首先到oracle下载上下载jdk-7u25-linux-i586.tar.gz 2.将jdk-7u25-linux-i586.tar.gz复制到/usr/lib/jvm/目录以下,这里假设没有j ...
- Ubuntu 12.10安装vmware-tools
1:[菜单]->[虚拟机]->[重新安装vmware tools]出现 图中下边说的很清楚,解压然后执行 2:把压缩包拷贝到 /home/下,然后执行 :tar -zxvf v[按住tab ...
- Ubuntu 13.04/12.10安装Oracle 11gR2图文教程(转)
Ubuntu 13.04/12.10安装Oracle 11gR2图文教程 原文标题:How to Install Oracle 11G R2 Enterprise Edition Database U ...
随机推荐
- JavaScript---闭包和作用域链
作用域和作用域链: 参考文章 :http://www.cnblogs.com/malinlin/p/6028842.html http://www.cnblogs.com/lhb25/archive ...
- 一篇搞定RSA加密与SHA签名|与Java完全同步
基础知识 什么是RSA?答:RSA是一种非对称加密算法,常用来对传输数据进行加密,配合上数字摘要算法,也可以进行文字签名. RSA加密中padding?答:padding即填充方式,由于RSA加密算法 ...
- typicalapp.js
/** * 1.找出数字数组中最大的元素(使用Math.max函数) 2.转化一个数字数组为function数组(每个function都弹出相应的数字) 3.给object数组进行排序(排序条件是每个 ...
- Mac 使用SSH远程登录
一.打开ssh Mac Terminal是自带SSH的,可以用whereis来看看: $ whereis ssh 但是在现有进程中找不到ssh对应的进程: $ ps aux | grep ssh ap ...
- 存储过程中执行动态Sql语句
MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就 ...
- 【原创】Junit4详解一:Junit总体介绍
Junit是一个可编写重复测试的简单框架,是基于Xunit架构的单元测试框架的实例.Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写test case ...
- IT客学院《构建高转化率的着陆页-PS+HTML+网络营销》共25节【价值199元】无水印版
课程简介本课程是全网独家专业的着陆页课程,课程完整的再现了整个着陆页实战案例的开发过程,包括:策划.设计和实现.上线后的推广.优化及提高转化率的技巧等,本套课程能帮助您迅速掌握着陆页的能力,迅速洞察完 ...
- 《信息安全系统设计基础》第一次实验报告--Linux 基础入门
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全设计基础 班级:1352 姓名:何伟钦 学号:20135223 成绩: 指导教师:娄嘉鹏 ...
- 恢复windows 的快捷方式打开方法,亲测1-7恢复,
相信有些用户曾试过错误地把LNK文件的打开方式更改其他文件,导致系统所有的快捷方式都失效.在vista与Windows7系统还不普遍使用的时候,相信大家会有点惊慌失措,不要紧,下面只要大家进行如下操作 ...
- C++实现反射机制
NET下的很多技术都是基于反射机制来实现的,反射让.NET平台下的语言变得得心应手.最简单的,比如枚举类型,我们我可以很容易的获得一个枚举变量的数值以及其名称字符串. 可是,在C++中,枚举变量本质上 ...