OpenGL超级宝典6 学习环境配置
来源:互联网 发布:java源码 编辑:程序博客网 时间:2024/04/29 21:59
好久没有写博文了,最近觉得图形学方面的知识非常缺乏,于是有了借由《OpenGL超级宝典》第6版的学习来填补这方面空白的想法。目前已经看到第四章,打算自己动手重现一下书中的例子,加深一下印象。在环境搭建方面,参考了一些文章,也自己动手实践了一下。以下是环境搭建的步骤:
一、下载资源
原书提供的地址:http://www.openglsuperbible.com,需要翻墙。所以我把自己下载到的资源放在了这里:http://download.csdn.net/detail/zhouworld16/9480166。
2. 下载freeglut和glew
可以在sourceforge上下载,地址是https://sourceforge.net,搜索并下载freeglut和glew。我下载到的版本是freeglut-3.0.0,glew-1.13.0。
3. 下载CMake
在前一步下载的freeglut的压缩包解压后,并没有我们想要的VS工程,所以还需要下载CMake来得到VS工程。官方地址https://cmake.org/download/,里面有很多版本可供选择,我下载的是cmake-3.5.1-win32-x86.msi,直接安装。
二、获取和复制需要的文件
1. 通过CMake获取freeglut的VS工程
安装好CMake以后,打开cmake-gui,如图所示,选择freeglut解压缩后的文件夹,以及生成后的工程要放置的位置,点击configure,在弹出的窗口中选择你的VS版本。
完成后以上操作后,得到如图所示的界面,根据红色界面下的提示,再次点击Configure,之后再点击Generate,即可在上一界面选定的文件夹位置得到freeglut的VS工程。
2. 复制freeglut和glew相关文件
打开上一步得到的freeglut工程,选择Release模式进行编译,即可得到freeglut.lib和freeglut.dll文件。现在我们就可以进行freeglut和glew相关文件的复制工作了。
首先是.h头文件:打开VS安装目录,找到VC\include文件夹,新建一个以GL为名的文件夹。到freeglut压缩包解压后的文件夹中,找到include\GL文件夹,将此文件夹中的所有4个.h文件全部复制到VC\include\GL文件夹中。同理,打开glew压缩包解压后得到的文件夹,将include\GL文件夹中的全部3个.h文件复制到VC\include\GL文件夹中。
接下来是.lib静态库文件:在我们上一步编译后的freeglut工程中,找到lib\Release文件夹,将其中的freeglut.lib文件复制到VS安装目录的VC\lib文件夹中。打开glew压缩包解压后得到的文件夹,将lib\Release\Win32文件夹中的glew32.lib和glew32s.lib文件也复制到VS安装目录下的VC\lib文件夹中。
最后,是.dll动态链接库文件:同样在我们上一步编译后的freeglut工程中,找到bin\Release文件夹,复制freeglut.dll文件到C:\\Windows\System32中,如果是64位系统,就复制到C:\\Windows\SysWOW64文件夹中。打开glew压缩包解压后得到的文件夹,将bin\Release\Win32文件夹中的glew32.dll文件也复制到上述文件夹中。
三、建立新工程,搭建书中源码环境
先用VS2013新建一个Win32工程。解压随书源码,将sb6code-master\include\GL文件夹和sb6code-master\extern\glfw-2.7.6\include\GL文件夹内的.h文件复制到VC\include\GL文件夹中,再将sb6code-master\lib中的3个.lib文件复制到VC\lib文件夹中。最后,将sb6code-master\include中的sb6.h及sb6ext.h复制到新建的项目文件夹下,并在项目中导入这两个文件,完成配置。
四、编写代码及运行
新建一个.cpp文件,以书中的第一个程序为例进行试运行。
#include "sb6.h"// Derive my_application from sb6::applicationclass my_application : public sb6::application{public:// Our rendering functionvoid render(double currentTime){// Simply clear the window with redstatic const GLfloat red[] = { 1.0f, 0.0f, 0.0f, 1.0f };glClearBufferfv(GL_COLOR, 0, red);} };// Our one and only instance of DECLARE_MAINDECLARE_MAIN(my_application);
运行结果如上图,证明配置成功。在书中随后几章的程序中,可能要用到随书源码中的其他文件,如vmath.h,只要照sb6.h一样复制到工程文件夹下,再导入到工程中即可。
- OpenGL超级宝典6 学习环境配置
- OpenGL超级宝典 5e 环境配置
- opengl超级宝典第五版 环境配置
- Opengl超级宝典 Xcode环境配置
- win7 上配置openGL开发环境(配套openGL 超级宝典Super Bible 6th)
- 《OpenGL超级宝典》环境搭建
- OpenGL超级宝典(第五版) 环境配置
- OpenGL超级宝典(第五版)环境配置
- OpenGL超级宝典(第五版) 环境配置
- OpenGL超级宝典(第五版) 环境配置
- OpenGL超级宝典(第五版)环境配置
- OpenGL超级宝典visual studio 2013开发环境配置,GLTools
- OpenGL超级宝典开发环境配置(VS2010)
- openGL超级宝典第五版+VS2010/2012的环境配置
- openGL 超级宝典第五版 vs环境配置
- win10 64位 + vs2015 + OpenGl超级宝典 配置环境
- openGL超级宝典第五版+VS2010/2012的环境配置
- OpenGL超级宝典visual studio 2013开发环境配置,GLTools
- 编译 FFMPEG with nvenc enabled
- 接口 两种调用http接口的方法
- autocomplete在Firefox下用中文检索
- BootStrap 资源包的下载和使用
- boost noncopyable实现禁止类拷贝
- OpenGL超级宝典6 学习环境配置
- Struts2 在拦截器中向Action传参
- Struts2 在登录拦截器中对ajax请求的处理
- fatal error C1859: “x64\Release\58Tn.pch”意外的预编译头错误,只需重新运行编译器就可能修复此问题
- Java中的Atomic包使用指南
- JQuery 动态创建表单,并自动提交
- Struts实例
- JQuery 使用.show()和.hide()做的可爱动画
- Usb Composite Device (audio+hid) Descriptor