教程地址
中文版:一步步学OpenGL3.3+
英文版:OpenGL Step by Step
源码下载地址:here
windows下的环境配置
以VS2013为例
1.下载源码,解压
2.创建解决方案
然后删掉附带的一个项目
鼠标邮件这个项目,选择移除
移除掉后
3.创建Common项目
鼠标右键解决方案,然后选择添加,新建项目
然后进入源码目录
粘贴到,具体粘贴到哪看你自己的喜好。
然后选择Common项目的“头文件“,鼠标右键选择,添加现有项,进入到复制过来的Include文件夹内,选择这些头文件,点击确定
然后选择“源文件”,右键,添加现有项,进入复制过来的Common目录下,选择这些cpp文件
然后右键Common点击生存,你会发现- -
这是因为还没有包含头文件
继续
右键Common项目,选择属性,配置属性,C/C++,常规,选择附加包含目录,添加这些目录,建议网上搜一下$(SolutionDir)的含义,附赠一个我看过的博客here
点击确定,然后再右键Common生成
你又会发现,人生怎么难-_-,我只是想学学OpenGL
一招粗暴方法,把ReadBinaryFile给注释掉
然后再点击生存,终于成立。刺不刺激,惊不惊喜!
4.创建一个Tutorial01的空项目
然后右键Tutorial01,选择设为启动项。
新建一个Tutorial01.cpp文件。复制粘贴代码
#include <iostream>
#include <GL/freeglut.h>//freeGLUT窗口库
/**
* 渲染回调函数
*/
void RenderScenceCB(){
// 清空颜色缓存
glClear(GL_COLOR_BUFFER_BIT);
// 交换前后缓存
glutSwapBuffers();
}
/**
* 主函数
*/
int main(int argc, char ** argv) {
// 初始化GLUT
glutInit(&argc, argv);
// 显示模式:双缓冲、RGBA
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
// 窗口设置
glutInitWindowSize(480, 320); // 窗口尺寸
glutInitWindowPosition(100, 100); // 窗口位置
glutCreateWindow("Tutorial 01"); // 窗口标题
// 开始渲染
glutDisplayFunc(RenderScenceCB);
// 缓存清空后的颜色值
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
// 通知开始GLUT的内部循环
glutMainLoop();
return 0;
}
你会发现到处爆红。。。因为还有些配置没完成。
进入解决方案的根目录,即和Common、Include的同级目录下再建立一个lib目录。
然后拷贝之前生成的lib文件到这个目录下
然后右键Tutorial01项目,选择属性,配置属性,c/c++,常规,附近包含目录
点击链接器,常规,附近库目录
然后点击链接器下面的输入
然后右键Tutorial01生成,你发现还没有成功。缺少的这个lib文件到源码lib文件去复制到自己建的lib文件里面
然后你再右键Tutorial01,选择生成,发现通过了,没有报错,接着点击运行。mdzz还有问题,不慌,离成功只差一步了。
看报错提示,找不到这个dll,秉承一个思路,缺什么去源码里面找。
至此,你再点击运行,你会看到一个黑窗口。到此已经基本配置成功,可以开心的被接下来的OpenGl虐了。
工欲善其事必先利其器,建议没事多折腾下Visual Studio。
放大招了,其实,其实,源码下面有个Windows目录,进去后你会看到一个ogldev目录,再进去你会发现,卧槽。
点击ogldev.sln,这不就是windows项目工程吗。惊不惊喜,刺不刺激。上面的教程也就是更具这个来摸索配置出来的。