我正在尝试从 http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/CODE/ 编译并运行本书的在线代码, 但他们似乎只有 Mac 和 Windows 版本;我如何在 Linux 上运行它?为了构建第 2 章中的简单示例,我花了数小时试图获得依赖项和正确的东西!
最佳答案
我是来自 future 的托尼!如果你继续你正在走的路,你最终会花费更多的时间来弄清楚这一点 - 好消息是我已经做到了,并且编制了以下步骤来帮助你解决问题!
-
sudo apt-get install freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev
来自 http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/CODE/ , 下载以下文件:
- CHAPTER02/WINDOWS_VERSIONS/[我只是把这些文件放在 CHAPTER02/]
- 通用/InitShader.cpp
- include/中的所有内容(尽管 CheckError.h 是不必要的)
- (因此,您的基本目录现在应该包含以下文件夹:CHAPTER02、Common 和 include。)
cd CHAPTER02
-
g++ ../Common/InitShader.cpp example1.cpp -I../include -lglut -lGL -lGLU -lc -lm -lGLEW -o example1.out
进行一些更改以解决错误:
- 添加
#include <stdio.h>
包括/mat.h - 如果您收到“请求失败的 X 错误:GLXBadFBConfig”,请在 example1.cpp 中注释掉这两行:
//glutInitContextVersion( 3, 2 ); //glutInitContextProfile( GLUT_CORE_PROFILE );
- 如果您收到“错误:不支持 GLSL 1.50”。将 fshader21.glsl 和 vshader21.glsl 的第一行更改为
"#version 130"
而不是 150
- 添加
- ./example1.out
- 很高兴终于看到了 Sierpinski 垫圈!
关于linux - 如何在 Linux 上编译和运行来自交互式计算机图形的代码 - 基于着色器的 OPENGL®(第 6 版)的自上而下的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657996/