ubuntu下openGL的配置方法

时间:2023-02-20 18:59:05

This is a simple tutorial to show a new linux user (such as myself) how to setup freeglut and OpenGl.

OS: ubuntu 12.1

I have just recently become a linux user and wanted to install freeglut
to do my graphics assignments on my laptop. Although the install did
not turn out to be very difficult it took me a while to do. So I have
written this tutorial in case another young linux user comes along and
decides he/she wants to install freeglut and OpenGL.

**This tutorial assumes that you have your operating system installed and you have access to the internet**

Steps:

From a terminal

1) sudo apt-get update

-This will update your apt database to the most recent available packages.

2) sudo apt-get install build-essential

- This installs the necessary development tools for building source code.

3) sudo apt-get install freeglut3-dev

- This installs the development libraries and headers for freeglut.

Your done! Extremely simple! However you must remember that when
compiling you must add a '-lglut' as a comand line argument to gcc. If
you don't it cannot find the library's and you will get undefined
reference errors.

example command line: gcc simple.c -lglut

At this point if your program compiles and runs then you are finished.
However the first time I tried to run mine I received a 'libGL warning:
3D driver claims to not support visual 0x42'. This error means I cannot
display the required colors to run the program. In my case I had the
most recent drivers for my video card. So I did some research on my
monitor and found out it can display a color depth of 24 instead of the
16 it was set at. To fix this problem you must edit the
/etc/X11/xorg.conf file as root and set the 'DefaultDepth 24'. Reboot
and the problem is solved.

This is my first post (and tutorial)
on the ubuntuforums. If people feel that this tutorial is not needed
they can feel free to remove it. If anyone wants to add anything related
to freeglut or OpenGl please feel free.

完成上述操作,可以通过以下程序进行验证环境安装的正确性。

测试

示例test.c源码:

  1. #include <GL/glut.h>
  2. void init(void)
  3. {
  4. glClearColor(0.0, 0.0, 0.0,
    0.0);
  5. glMatrixMode(GL_PROJECTION);
  6. glOrtho(-5, 5,
    -5, 5, 5, 15);
  7. glMatrixMode(GL_MODELVIEW);
  8. gluLookAt(0, 0, 10, 0, 0, 0,
    0, 1, 0);
  9. return;
  10. }
  11. void display(void)
  12. {
  13. glClear(GL_COLOR_BUFFER_BIT);
  14. glColor3f(1.0, 0, 0);
  15. glutWireTeapot(3);
  16. glFlush();
  17. return;
  18. }
  19. int main(int argc, char
    *argv[])
  20. {
  21. glutInit(&argc, argv);
  22. glutInitDisplayMode(GLUT_RGB
    | GLUT_SINGLE);
  23. glutInitWindowPosition(0, 0);
  24. glutInitWindowSize(300, 300);
  25. glutCreateWindow("OpenGL 3D View");
  26. init();
  27. glutDisplayFunc(display);
  28. glutMainLoop();
  29. return 0;
  30. }

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

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

执行:

  1. $ ./test
  2. 效果图如下:
  3. ubuntu下openGL的配置方法
  4. codeblocks IDE 要使用的话,需要在建立了控制台程序后,对内部调试环境进行配置。
  5. 具体步骤如下:
  6. 1.新建一个Console Application 工程

2.使工程包含OpenGL/Glut 等相关的链接库

菜单的“project” ----- “Build Options” ---------“ Linkersettings”中进行设置

添加文件:libGL.so  libglut.so libGLU.so

如下图

ubuntu下openGL的配置方法

选择“加入”按钮,根据自己ubuntu中的具体位置进行添加。

完成上述步骤后,就可以进行Debug了。

也可以进行下面这几个步骤,可以实现在codeblocks下直接创建openGL工程。

$ sudo apt-get install build-essential gdb subversion
$ sudo apt-get install automake autoconf libtool
$ sudo apt-get install libgtk2.0-dev libxmu-dev libxxf86vm-dev

这样,在codeblocks里面新建工程就可以了,新建glut工程的话,会自带一个例子。如果只做了前两步,编译的时候就会报错,说找不到Xxf86vm。去Ubuntu论坛逛了一圈,回来,做了后3个步骤,就顺利的编译运行了。


建 GLUT 工程时,选择 GULT‘s Location时,直接输入 /usr
即可。因为/usr下面就有include和lib两个子文件夹。可是在Windows下面,我就搞不定如何能有这两个子文件夹的文件夹。每次都说不能包
含进去glut.h头文件。没有办法,只能到linux下面来折腾。不过还是要研究一下。

这个是codeblocks自带的glut工程的例子。新建工程的时候出来的。编译运行后的图:

ubuntu下openGL的配置方法

ubuntu下openGL的配置方法的更多相关文章

  1. ubuntu下boost的配置方法

    boost版本为: boost_1_52_0ubuntu版本为:ubuntu-12.04.1-desktop-i386 这里有两种安装方法: =============第一种: 也是最简单的:进入li ...

  2. Ubuntu下安装并配置VS Code编译C&plus;&plus;

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069091.html Ubuntu下安装并配置VS Code编译C++ 安装 ...

  3. Ubuntu下安装并配置TexStudio

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069715.html Ubuntu下安装并配置TexStudio Ubunt ...

  4. ubuntu下安装和配置最新版JDK8傻瓜教程

    ubuntu下安装和配置最新版JDK8傻瓜教程 听语音 | 浏览:18940 | 更新:2014-07-14 22:13 | 标签:ubuntu 1 2 3 4 5 6 分步阅读 ubuntu系统通常 ...

  5. Ubuntu下apache2安装配置(内含数字证书配置)

    Ubuntu下apache2安装配置(内含数字证书配置)安装命令:sudo apt-get updatesudo apt-get install apache2 配置1.查看apache2安装目录命令 ...

  6. Ubuntu下安装和配置Apache2&comma;小编觉得挺不错的&comma;现在就分享给大家

    本篇文章主要介绍了详解Ubuntu下安装和配置Apache2,小编觉得挺不错的,现在就分享给大家,也给大家做个参考.有兴趣的朋友可以了解一下.(http://xz.8682222.com) 在Ubun ...

  7. Ubuntu下PHP开发配置(新增redis、sphinx、sqlserver相关配置)

    由于本人比较懒,所以一般都是用xampp的直接拿来改的…………(当然xampp中一般php版本都是比较新的用的过程中请大家注意哈,可能会和老版本冲突) 此次除了使用xampp外,还扩展了sphinx, ...

  8. Ubuntu下的网络配置(USTC)

    1. 配置静态ip      ubuntu的网络配置信息放在 /etc/network/interfaces 中 sudo gedit /etc/network/interfacesauto lo 下 ...

  9. linux之ubuntu下php环境配置

    本文主要说明如何在Ubuntu下配置PHP开发环境LAMP.   Ubuntu 搭建 php 环境   所谓LAMP:Linux,Apache,Mysql,PHP   安装 Apache2:(注意可以 ...

随机推荐

  1. 【micropython】用python来进行BadUSB的USB-HID测试(含无线控制)

    转载请注明:@小五义http://www.cnblogs.com/xiao*QQ群:64770604 本文以TPYBoardv101开发板为例讲解了利用micropython进行BadUSB的u ...

  2. YCbCr&semi;YUV&semi;RGB

    1.  来源的差异 yuv色彩模 型来源于rgb模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域. 应用:basic color model used in analogue color ...

  3. php框架Symfony资料

    1.http://snippets.symfony-project.org/snippets/tagged/criteria/order_by/date 2.Propel API: http://ap ...

  4. 【转】Windows10下80端口被PID为4的System占用导致Apache无法启动的分析与解决方案

    昨天刚更新了Windows10,总体上来说效果还是蛮不错的,然而今天在开启Apache服务器的时候却发现,Apache莫名其妙的打不开了,起初以为是权限的问题,于是使用管理员身份的控制台去调用命令ne ...

  5. hdu3652B-number

    Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal for ...

  6. 微信小程序开发工具(0&period;9&period;092300)下载地址,分享给没有公众号的小伙伴

    目前最新的v0.9.092300,不需要填AppID就能直接开发,也不需要破解了. OSX版本.WIN64.WIN32下载地址: http://pan.baidu.com/s/1qXOdkgG

  7. 读书学习-Python--描述符(python3)

    转自我的知乎文章(https://zhuanlan.zhihu.com/p/32487852) 何为描述符?描述符就是实现了__get__.__set__和__delete__三者中任意一个的类.是用 ...

  8. 【二分图最大匹配】Bullet &commat;山东省第九届省赛 B

    时间限制: 6 Sec 内存限制: 128 MB 题目描述 In GGO, a world dominated by gun and steel, players are fighting for t ...

  9. 用python写一个定时提醒程序

    身体是革命的本钱,身体健康了我们才有更多精力做自己想做的事情,追求女神,追求梦想.然而程序员是一个苦比的职业,大部分时间都对着电脑,我现在颈椎就不好了,有时候眼睛还疼,我还没20阿,伤心...于是乎写 ...

  10. textarea 赋值的方法

    textarea 赋值的方法 <textarea name="" rows="3" id="note21" ></text ...