[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 ...
随机推荐
- ucos实时操作系统学习笔记——任务间通信(互斥锁)
想讲一下ucos任务间通信中的mutex,感觉其设计挺巧妙,同sem一样使用的是event机制实现的,代码不每一行都分析,因为讲的没邵贝贝老师清楚,主要讲一下mutex的内核是如何实现的.可以理解互斥 ...
- Linux C++ 开发简介
主要介绍将Windows程序迁移到Linux系统相关知识 简介 Windows程序迁移到Linux系统可能需要修改很多代码, 既需要了解Linux平台的开发知识, 也需要了解Windows平台代码如何 ...
- ASP.NET MVC Model验证(二)
ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决这个问题的,并且会描述一下 ...
- ERROR ITMS-90167: "No .app bundles found in the package"错误
ERROR ITMS-90167: "No .app bundles found in the package" 出现如上错误请查检以下2个方向: 1.macOS Sierra 1 ...
- node.js学习总结(一)
1.1.1 安装 Node.js 有三种方式安装 Node.js:一是通过安装包安装,二是通过源码编译安装,三是在 Linux 下可以通过 yum|apt-get 安装,在 Mac 下可以通过 Hom ...
- HTML5_06之拖放API、Worker线程、Storage存储
1.拖放API中源对象与目标对象事件间的数据传递: ①创建全局变量--污染全局对象: var 全局变量=null; src.ondragstart=function(){ 全局变量=数据值; ...
- 用VB脚本批到导入字段到PowerDesigner
在PowerDesigner使用脚本批量导入excel中记录的表结构信息,由于需要通过powerdesigner逆向工程创建一些sybase IQ的表,由于是接口数据,只有excel表,手动导入太耗时 ...
- 在SQL Server中为什么不建议使用Not In子查询
在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下 下面 ...
- undefined
概述 undefined有多重角色,通常情况下,我们所说的undefined都指的是全局对象的一个属性"undefined". 语法 undefined 描述 在JavaScrip ...
- jQuery UI与jQuery easyUI的冲突解决办法
jQuery UI与jQuery easyUI都是基于jQuery开发的.难免里面会有些方法名冲突! 因此对jQuery.easyui其中的两个方法名:resizable 和 draggable进行替 ...