笔者真是苦逼啊,之前花了很多时间去学习“基于OpenGL的图形学”的开头部分,包括书本和老师的PPT。但是到自己尝试编译运行示例代码的时候真是困难重重。而且!在自己胡乱摸爬滚打终于运行成功后不久,发现不论是老师的PPT还是书本,它们给的代码真是太少了,让我没法练习编程。我只好去图书馆找来一本OpenGL超级宝典。在学习了几天后发现,这特么代码都是过时的,时的,的。。。好吧,全部推倒重来。

http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/就是看了这个网站,我才发现,我看的代码都是过时的,已经不用的了。他第一步就教你 Forget Everything:You don’t have to know anything, but you have to forget everything you know about OpenGL. If you know about something that looks like glBegin(), forget it.

淦!笔者还是个零基础的菜鸡,为什么这么折磨我。无奈之下,我立马买来一本《OpenGL编程指南 (原书第9版)》来学习。不过,折磨我的行为还没有停止,这本书居然一点点配置环境的操作都不讲!于是我只好上百度搜索了,不过,百度关于第9版的源码使用方法寥寥无几。经过我不断地尝试,总结出一个非常简单的方法,在这里教给大家。

首先下载红宝书源码

这里是红宝书官网:http://www.opengl-redbook.com/

仔细看英文可以找到Github地址,打开,或者直接打开这个网址https://github.com/openglredbook/examples

因为是零基础新手写的博客,所以会非常的,详细。点右边的绿色按钮,再点“Download ZIP”,等待下载。

把下载下来的压缩包解压到一个合适的地方,最好是没有中文的路径。比如我放到我平常放代码的文件夹:

安装CMake

如果你已经有CMake的话就跳过安装部分吧。

打开CMake官方网站,下载CMake的安装包,自行安装。

选择“Latest Release"目录下的"Binary distributions"(也就是最新的发行版本)目录下的msi安装包,下载安装吧。

安装好之后你的菜单就会多出一个CMake文件夹了,运行CMake(cmake-gui)。

在第一栏选择刚刚解压的“examples-master”文件夹,在第二栏自己选择一个文件夹,用来保存CMake生成的项目。我这里就直接选择它里面的build文件夹。

点Configure,弹窗保持默认即可,然后选择“Finish”。(我的是最新版Visual Studio2017,如果你没有,这里选择自己合适的吧。)

这里不知道为什么是红色的,第一次用的时候不是这样的。不过已经显示“Configuring done”了,应该是没问题的。

Configure完成之后就点“generate”。

Generate完成之后就点“Open Project”,这时应该会自动打开一个Visual Studio项目。

到这时离成功已经很接近了,可以看到解决方案资源管理器有一大堆的项目。

这时直接调试运行一次,或者对着“ALL BUILD”项目右键->调试->启动新实例。可能会报错,不过实际已经成功了。我试过第一次报错,第二次就可以了。因为第一次要生成库文件,第二次因为有了库文件所以就没有报错了。(至少我是成功了,如果你不成功,那真要麻烦你自己想想办法了,我也不太懂。。。)

然后运行几个例子测试一下,用右键->调试->启动新实例的方法。

这是书上第一个例子,“01-triangles”:

还有其他例子,我还没有学到这,所以也不知道是什么。

这个厉害了,还会动。

如果你的例子没有运行成功的话,我可能也帮不了你,因为我还是个新手。我只能在我仅有的一点点知识范围内,给你提供一丢丢的帮助。如果你的电脑很旧的话,可能要考虑显卡OpenGL版本的问题。那么怎么查看显卡支持的OpenGL版本呢?下载一个OpenGLExtensionViewer(http://realtech-vr.com/admin/glview),如下图所示:

可以看到我的电脑可以支持到4.5版本的OpenGL,现在最新的版本也是4.5,这样就可以放心大胆的开始OpenGL编程啦。(不要吐槽显卡啦,以后会有的)

以后可以直接在这个解决方案里面添加文件夹放自己的项目,就不用再到处配环境了。学习知识而已,又不是专业配环境,不用在意那么多细节。

总结:其实这波操作也是很简单的呢,只是新手没有人带领的话,真的比较费劲。大佬都是直接一句“CMake一下就可以用啦”,对零基础的新手没有什么帮助。希望通俗易懂的教程越来越多,学习越来越容易,这样大家都可以快乐地进入更深层次的学习。

我写的博客真的非常简单,又很多细节我想弄懂再给大家解释,但是能力有限,时间有限。以后实例提升了,可能就能写更好的博客了。

用最简单的方法配置运行OpenGL红宝书第9版源码示例相关推荐

  1. 关于在vs2013中配置opengl红宝书第八版环境

    转自 http://blog.csdn.net/qq821869798/article/details/45247241 本人刚开始学习opengl,买了一本opengl红宝书第八版, 第一个例子研究 ...

  2. 【OpenGL】蓝宝书第五版源码资源

    https://github.com/kimziv/oglsuperbible5 最全的資源在上面,下面的是有殘缺的,直接下載后进入 链接:https://pan.baidu.com/s/1L2n9M ...

  3. OpenGL红宝书正序解读(一)

    OpenGL红宝书正序解读(一) 第一章:OpenGL简介 第二章:状态管理和绘制几何物体 绘图工具箱 清除窗口 指定颜色 强制完成绘图操作 坐标系统工具箱 描述点.直线.多边形 什么是点.直线.多边 ...

  4. OpenGL红宝书:第一个渲染程序Triangles常见问题归总

    OpenGL红宝书第八版从shader开始讲起,其实渲染对大多数人来说都是充满吸引力的,但是程序写起来确实比较麻烦,书上面第一示例程序零零散散也弄了好几天.这里写个博客汇总一下,我觉得对所有初学者都有 ...

  5. OpenGL与红宝书第八版第一个程序配置

    本文档参考文献为<OpenGL编程指南>(原书第8版)中文版. 下面直接讲解笔者接触并初学OpenGL之路. 由于笔者学习方向的关系,有时接触到某些开源框架的时候,里面涉及到OpenGL. ...

  6. OpenGL红宝书第九版环境配置

    OpenGL红宝书第九版环境配置(VS2017) 对于很多想要学OpenGL的人来说,环境配置一直是一个大问题,笔者就是其中之一.虽然网络上有许多教程,但是由于不同的教程使用的库并不同,利用这些教程配 ...

  7. OpenGL红宝书的部分学习记录

    我看的OpenGL红宝书为: <OpenGL编程指南>-- 原书第9版 OpenGL Programming Guide – The Official Guide to Learning ...

  8. VS2012通过makefile编译OpenGL红宝书的示例代码

    通过创建新VC项目,然后设置一堆属性,对于懒人来说还是太复杂了.既然它自带了makefile,可以尝试下使用nmake. 需要注意的是VS2012的安装目录里面已经没有GL的头文件和库文件.这个改动应 ...

  9. 游戏开发计算机图形学杂项知识系列:OpenGL红宝书中第一个渲染程序Triangles常见问题归总

    游戏开发计算机图形学杂项知识系列:OpenGL红宝书中第一个渲染程序Triangles常见问题归总 声明:未经作者允许,严禁商用,转载请标明出处和来源,谢谢 转载自:https://www.cnblo ...

最新文章

  1. 完美数据迁移-MongoDB Stream的应用
  2. 012 分析技能冷却二叉树
  3. 为什么你总成为不了架构师?
  4. 外星人bios按f2调风扇_刷完BIOS出现Reboot and select proper boot device的解决方法
  5. C++实现二叉树的相应操作
  6. 真香!腾讯再发阳光普照奖:每人100股,价值超6万!
  7. Jmeter之JSON Path Extractor的使用(JSON-handle下载安装和使用)
  8. flashftp中文绿色破解版免费下载
  9. 极智开发 | UmiJS 快速上手
  10. js表单提交的三种方式
  11. 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
  12. 网站服务器停止响应是什么意思?
  13. Entry name ‘res/drawable-xhdpi-v4/ic_launcher.png‘ collided
  14. c语言转义字符详解,C语言转义字符和格式控制符参考
  15. emu8086不支持的x86语法
  16. win7安装vs2012失败
  17. K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点
  18. Poly-encoder
  19. 传统音乐制作与计算机音乐制作,电脑音乐制作与传统音乐制作的方式差异分析...
  20. 1.6启动失败的解决办法

热门文章

  1. GitBook 从懵逼到入门
  2. Linux下用Apple的bonjour服务进行摄像机搜索
  3. 模仿3d打印中使用 Arduino 来根据 NTC 温度传感器的查询表来测量温度的示例程序。
  4. SSO(CAS) 的简单搭建与使用
  5. 百度富文本编辑器设置默认参数 行高 字体 字号 字体颜色
  6. mit计算机课程怎么样,[转载]麻省理工MIT  电子和计算机科学课程设置
  7. 浪潮通软笔试、面试总结,正规的典型。
  8. HTML超文本标记语言
  9. 公司员工管理系统(C++多态实现)
  10. FieldSet第二篇 - 动态查询优化