如何在交互式计算机图形上编译和运行Linux上的代码使用基于SHADER的OPENGL®(第6版)的上下方法?

时间:2014-09-04 05:39:48

标签: linux opengl glut freeglut

我正在尝试从http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/CODE/编译并运行本书的在线代码,但它们似乎只有Mac和Windows版本;我如何在Linux上运行它?我花了好几个小时试图获得依赖关系和事情,只是为了在第2章中构建简单的例子!

1 个答案:

答案 0 :(得分:4)

我是未来的托尼!如果你继续沿着这条路走下去,你最终会花费几个小时来解决这个问题 - 好消息是我已经完成了它,并编写了以下步骤来帮助你!

  1. sudo apt-get install freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev
  2. http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/CODE/下载以下文件:

    • CHAPTER02 / WINDOWS_VERSIONS / [我只是把这些文件放在第02章/]
    • 共用/ InitShader.cpp
    • 包含/中的所有内容(尽管不需要CheckError.h)
    • (因此,您的基本目录现在应该具有以下文件夹:CHAPTER02,Common和include。)
  3. cd CHAPTER02

  4. g++ ../Common/InitShader.cpp example1.cpp -I../include -lglut -lGL -lGLU -lc -lm -lGLEW -o example1.out
  5. 进行一些更改以解决错误:

    • #include <stdio.h>添加到include / mat.h
    • 如果您收到“X错误请求:GLXBadFBConfig”,请在example1.cpp中注释掉这两行:

    //glutInitContextVersion( 3, 2 ); //glutInitContextProfile( GLUT_CORE_PROFILE );

    • 如果收到“错误:不支持GLSL 1.50。”将fshader21.glsl和vshader21.glsl的第一行更改为"#version 130"而不是150
  6. ./ example1.out
  7. 为最终看到Sierpinski Gasket而欢欣鼓舞!