[Modern OpenGL系列(一)]十步搞定OpenGL开发环境
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51292143
OpenGL官网:https://www.opengl.org。
开发常用的SDK库:https://www.opengl.org/sdk/libs/
搭建环境前的准备
在搭建OpenGL开发环境前先下载好下面的三个压缩文件:
- GLEW(OpenGL Extension Wrangler Library):详细介绍。压缩包下载链接:Binaries Windows 32-bit and 64-bit
- GLM(OpenGL Mathematics):详细介绍。压缩包下载链接:glm-0.9.7.4.zip
- SDL(Simple DirectMedia Layer):详细介绍。压缩包下载链接:SDL2-devel-2.0.4-VC.zip (Visual C++ 32/64-bit)
上面的三个库文件我已经上传到我的CSDN资源中,有需要的可自行下载。
创建VS项目
- 打开VS2015,文件->新建->项目(或者使用快捷键
Ctrl+Shift+N)。然后选择Visual C++-> Win32项目。如下图所示: - 点
确定按钮后,接着点下一步,接下来操作如图所示: - 在项目源文件夹下添加
main.cpp,然后编译(或者运行)一下工程。main.cpp源码如下:#include <iostream> int main(){ std::cout << "Hello World!" << std::endl; return 0; } - 将上面下载好的三个文件解压。然后在项目文件夹(
OpenGLProject\OpenGLProject)下新建两个文件夹分别取名为include和lib。如图: - 拷贝
GLEW库文件到项目中。将解压的glew-1.13.0文件夹下的include文件中的GL文件拷贝到新建的include文件夹下。将glew-1.13.0\lib\Release\Win32文件夹下的glew32.lib和glew32s.lib文件拷贝到新建的lib文件夹下。将glew-1.13.0\bin\Release\Win32文件夹下的glew32.dll拷贝到最外层的Debug(OpenGLProject\Debug)文件夹下。 - 拷贝
GLM库文件到项目中。将解压的glm文件夹下的glm文件夹整体拷贝到新建的include文件夹下。 - 拷贝
SDL库文件到项目中。将解压的SDL2-2.0.4文件夹下的include文件夹整体拷贝到新建的include文件夹下,并重新命名为SDL2。将SDL2-2.0.4\lib\x86文件夹下的SDL2.lib、SDL2main.lib和SDL2test.lib都拷贝到新建的lib文件夹下,同时将SDL2.dll文件拷贝到最外层的Debug(OpenGLProject\Debug)文件夹下。 - 设置
include路径。在VS的解决方案资源管理器中选中OpenGLProject项目,然后右键->属性。其他设置如图: - 设置
lib路径。设置步骤如图所示: - 设置附加依赖项。具体设置如图:
至此,OpenGL的开发环境已经搭建完成。下一篇文章讲解如何创建一个OpenGL的窗口。
以上文章内容整理自YouTube视频教程Intro To Modern OpenGL Tutorial。想要FQ看原视频教程的请自备防和谐软件。
声明:本文欢迎转载和分享,但是请尊重作者的劳动成果,转载分享时请注明出处:http://www.cnblogs.com/davidsheh/p/5452127.html 。同时,码字实在不易,如果你觉得笔者分享的笔记对你有点用处,请顺手点击下方的推荐,谢谢!
[Modern OpenGL系列(一)]十步搞定OpenGL开发环境的更多相关文章
- 五步搞定Android开发环境部署
引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入 Android浪潮的朋友们,为了确保大家能顺利完成开发 ...
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭 ...
- 三步搞定 opencv 初始环境设定
一.设定bin的初始位置:比如我的电脑 D:\安装程序\opencv\build\x86\vc10\bin H:\生产力工具\opencv\build\x86\vc10\bin D:\安装程 ...
- Spring Boot入门系列(十五)Spring Boot 开发环境热部署
在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译.然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是影响开发效率.其实Spring Boot的项目碰到这种情况, ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
- APP设计师拿到APP产品原型开始,七步搞定APP设计(转)
任何一款成功的APP都需要以坚实的产品概念作为基础,因为概念决定了产品最终完成的潜力. 一般情况下,交到app设计师手里的都是移动app产品原型图.当然这个是在移动产品经理反复斟酌,并且与大家开会讨论 ...
- iOS开发三步搞定百度推送
iOS开发三步搞定百度推送 百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_s ...
- SmaterWeatherApi---签名加密和数据訪问--简单粗暴一步搞定
-----------------------------------------------------更新-2014-07-09---------------------------------- ...
- 十分钟搞定pandas内容
目录 十分钟搞定pandas 一.创建对象 二.查看数据 三.选择器 十二.导入和保存数据 参考:http://pandas.pydata.org/pandas-docs/stable/whatsne ...
随机推荐
- 玩转Windows服务系列汇总
玩转Windows服务系列汇总 创建Windows服务 Debug.Release版本的注册和卸载及其原理 无COM接口Windows服务启动失败原因及解决方案 服务运行.停止流程浅析 Windows ...
- Redux初见
说到redux可能我们都先知道了react,但我发现,关于react相关的学习资料很多,也有各种各样的种类,但是关于redux简单易懂的资料却比较少. 这里记录一下自己的学习理解,希望可以简洁易懂,入 ...
- 2、利用蓝牙定位及姿态识别实现一个智能篮球场套件(二)——CC2540/CC2541基于广播的RSSI获得
CC2541一拖多例程中RSSI获得是通过一个事件回调函数实现的,前提是需要连接上蓝牙设备. 这个对于多点定位来说是不可行的,由于主机搜索蓝牙设备过程中也能获得当前蓝牙设备的RSSI等信息,因此可基于 ...
- 玩转Windows服务系列——Debug、Release版本的注册和卸载,及其原理
Windows服务Debug版本 注册 Services.exe -regserver 卸载 Services.exe -unregserver Windows服务Release版本 注册 Servi ...
- Entity Framework 6 Recipes 2nd Edition(10-10)译 - > 为TPH继承的插入、更新、删除操作映射到存储过程
10-10. 为TPH继承的插入.更新.删除操作映射到存储过程 问题 TPH继承模型,想把它的插入.修改.删除操作映射到存储过程 Solution 假设数据库有一个描述不同种类的产品表(Product ...
- (转载)JAVA动态编译--字节代码的操纵
在一般的Java应用开发过程中,开发人员使用Java的方式比较简单.打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java 程序就可以了.这种开发模式背后的过程是:开发人员编写的 ...
- Vue插件开发入门
相对组件来说,Vue 的插件开发受到的关注要少一点.但是插件的功能是十分强大的,能够完成许多 Vue 框架本身不具备的功能. 大家一般习惯直接调用现成的插件,比如官方推荐的 vue-router.vu ...
- python学习 正则表达式
一.re 模块中 1.re.match #从开始位置开始匹配,如果开头没有match()就返回none 语法:re.match(pattern, string, flags=0) pattern 匹配 ...
- C#异常处理经验(原则与方法)
本文是异常处理经验性的文章,其实跟C#关系也不大.比较适合刚刚熟悉异常语法,而缺乏实战的读者.当然,经验老练的读者也可指出不足.给予意见.补充说明,一起完善文章,分享更多知识与经验. 1 ...
- img.width一直是0的问题--记录(二)
var img=new Image(); img.src="图片路径"; 然后调用 img.width img.height 你会发现值是0: 这是因为页面在加载的时候图片是最后的 ...