项目文件下载链接
INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/
6E_example1_VC10.zip
编译器版本,VS2010
其他环境配置:
1. 去freeglut官网找到 freeglut-MSVC.zip 版的压缩包下载解压
2. 去glew官网找到 glew-1.13.0-win32.zip 下载解压
我保存的位置分别是
D:\OGL\glew-1.13.0-win32
D:\OGL\freeglut-MSVC
然后用VS2010打开项目文件 6E test.sln,项目属性 > VC++目录 > 包含目录 添加 上面两个目录的include子目录
项目属性 > VC++目录 > 库目录,添加上面两个目录对应的lib目录,选32位的文件夹
编译过程中遇到的问题:
- error LNK1104: cannot open file 'freeglutd.lib'
链接器的附加依赖项中并没有这一项。解决方法
http://blog.csdn.net/yapingxin/article/details/46440307
https://www.opengl.org/discussion_board ... -link-1104
打开项目属性,在 C/C++ > 预处理器 > 预处理器定义 的设置中,增加一个宏定义 NDEBUG,点击插入
- fopen unsafe
打开initShader.cpp,
代码: 全选
FILE *fp = fopen(shaderFile, "r");
改为代码: 全选
FILE* fp;
fopen_s(&fp, shaderFile, "r");
- 运行提示
fshader21.glsl failed to compile:
0(2) : error C5060: out can't be used with non-varying color
解决方法:
打开,fshader21.glsl ,将 "out vec3 color;" 改为 "varying out vec3 color;"
参考链接
https://www.opengl.org/discussion_board ... ef0d05e0c8
- 再次运行,提示
fshader21.glsl failed to compile:
0(10) : error C0000: syntax error, unexpected $undefined at token "<undefined>"
解决办法:去掉多余的空白行、行末尾的空格符号
http://stackoverflow.com/questions/1087 ... -undefined
或者进入 \6E test\CODE 目录 将 fshader21.glsl 以及 vshader21.glsl 拷贝到程序运行目录中
Debug 目录和 Release目录下附带的glsl文件居然和CODE目录下的不一致=_=