小熊喜欢下雨

欢迎远行者前来落脚

deepin搭建测试freeglut,opengl环境

| 暂无评论

从上周开始就在搭建deepin下的opengl环境,但是一直没有任何进展,似乎只要你的文件里有文本,编译就会产生无尽的错误。

上周找教程搭了几遍,放弃了。今天的计算机图形课要交作业了,无奈,又抱着决心去做。做到几乎不报希望,又在一个不知为何的情境下突然成功了。。。。

步骤如下:

  1. apt-get install build-essantial
  2. apt-get install cmake                                                                                         #基本环境
  3. apt-get install  libgl1-mesa-dev
  4. apt-get install libglu1-mesa-dev
  5. apt-get install libglut-mesa-dev

这样是我所知道的一些步骤,但我做了比这多两倍的事。

首先我到freeglut官网上下载了stable的包,按官网的教程来了一遍。官网的教程简单的令人发指,但凡有点常识的人都知道linux上的事情绝对不能这么简单,毫无疑问的,官网上的教程估计是用来敷衍人的。。。。

然后我解压了软件包(freeglut-3.2.1),简单看了一下里面的东西。是一堆渣渣工程师写的垃圾。包含了android,windows,linux(我猜测这个linux的帮助文档是程序员随便用脚趾打出来的,你可以从语法和实际执行效果看出来),我非常老实的按README.cmake来做了一遍(里面的东西垃圾至极,可以去看一下,库倒是包含完整了),非常平静的,我看到了满屏的报错。。。(卒)

同学已经在windows上配置好了,我慌得一批。但是又不想切windows(我是win+deepin双系统)。我平静地打开chrome,找到一个ubuntu的教程,试了一下—–满屏报错,没事。我又找了一个,过程大同小异,无非是安装那几个库。又失败了!此时旁边人玩游戏的声音让我燥得不行。但是我,又抱着破罐子破摔的态度又试了一下,突然出现一个小弹窗——–成功了。。。。。

行吧,这就是玄学。

 

以后多拜拜佛,程序能少很多bug

贴身源代码和编译过程:

#include <GL/glut.h>#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();
}

这个文件命名为example.c

然后执行 gcc -o example example.c  -lGL -lGLU -lglut

./example
神奇的事情发生了

#总结:以后多拜佛,整其他花里胡哨的没用

 

发表评论

*为必填字段!