位置: 编程技术 - 正文

OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio

编辑:rootadmin
前言

推荐整理分享OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

我们准备要开始OpenGL之旅,在开始之前,首先要了解一些事情,也就是本教程的目的,请确定本教程与您的目标一致,以免浪费时间。如果您有任何提议请留言,多谢!

我本人也是OpenGL初学者,学习进度随个人时间来掌控,没有确定的计划。当然我希望能拿出更多的时间来学习了,但如果项目紧张,可能随时会搁置,有空了再来继续。本文也是随学随记载,纯属笔记性质,记录学习过程。请您多多包涵!

本文的开发环境将基于Windows(无所谓Win7、Win8、Win,XP应该也适用),Visual Studio ,FreeGLUT和GLEW。如果以后有必要接触其它的开发工具或者库,再另作补充。

本文参考了一些其它的教程,但整个过程是自己做的。如果不慎有侵犯他人版权之处,请不吝赐教,本人一定立即纠正。多谢!

准备相应的开发工具和开发库Visual Studio

无论用Community版本还是用Express版本都可以,下载地址可以从MSDN上搜寻。如果不是VS其实也可以,可能个别操作会有一些小区别,请灵活对待。

FreeGLUT

你可以了解一下FreeGLUT是什么。最直接的办法是看看维基百科对它的解释。链接:FreeGLUT。

有很多教程会采用GLUT。为什么我们不用GLUT呢?因为我在FreeGLUT官方网站上看到了这么一段话:

Why?

The original GLUT library seems to have been abandoned with the most recent version (3.7) dating back to August . Its license does not allow anyone to distribute modified library code. This is really unfortunate, since GLUT is getting old and really needs improvement. Also, GLUT’s license is incompatible with some software distributions (e.g., XFree).

所以我决定用FreeGLUT。请下载其最新稳定版本并解压/拷贝到您本地目录。此时此刻FreeGLUT的最新稳定版本是:

Freeglut 3.0.0 [Released: 7 March ]

我从Martin Payne’s Windows binaries (MSVC and MinGW)下载Download freeglut 3.0.0-1 for MSVC。下载之后把它解压/拷贝到了我本地目录:C:LibFreeGLUTMSVC-v3.0.0-1.mp。这个路径一会儿我们用到的时候别忘了替换成你自己的目录。

目录结构我稍作了调整:

GLEW

GLEW是OpenGL的扩展库,用于帮助C/C++程序员编写可移植的应用程序,该扩展库支持多种操作系统(比如Windows、Linux、Solaris等)。另外GLEW还有Ada版本:GLEW for Ada,不过这个Ada版本好像更新比较慢,此时此刻它停留在年4月的1.5.4版。C/C++版本更新还是比较及时的。

此时此刻GLEW的最新稳定版本是1..0[--],我下载的是它的二进制版本:

Binaries Windows -bit and -bit

下载之后把它解压/拷贝到了我本地目录:C:LibGLEWWin_v1..0。这个路径一会儿我们用到的时候别忘了替换成你自己的目录。

原来的目录结构有一点不对称,且包含空格(这不是个好习惯),因此我稍作了调整:

设置系统变量

这么做的好处一会儿进行Visual Studio工程文件设置的时候你就能体会到了。

FreeGLUT

进入 Control PanelSystem and SecuritySystem,点击“Advanced system settings”。在 Advanced | Environment Variables中,增加一个系统变量:

OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio

FreeGLUT = C:LibFreeGLUTMSVC-v3.0.0-1.mp

Screenshot:

GLEW

进入 Control PanelSystem and SecuritySystem,点击“Advanced system settings”。在 Advanced | Environment Variables中,增加一个系统变量:

GLEW = C:LibGLEWWin_v1..0

Screenshot:

建立Visual Studio工程建立Win Console Application工程

这个工程里目前只有一段默认的C++程序片段:

设置项目属性(位Debug版)

Screenshot:

Additional Include Directories

在项目属性的 C/C++ | General | Additional Include Directories 中,增加:

Screenshot:

Additional Library Directories

在项目属性的 Linker | General | Additional Library Directories 中,增加:

Screenshot:

Additional Dependencies

在项目属性的 Linker | Input | Additional Dependencies 中,增加:

Screenshot:

编译后,自动拷贝DLL文件到目标文件夹

将这个文件事先拷贝到项目的输出文件夹中:

这个过程完全没有必要手动进行,我们可以让它自动完成。方法是:在项目属性 Build Events | Post-Build Event | Command Line 中,增加:

Screenshot:

修复链接错误:LNK

在《FreeGLUT Tips: Resolve compile issue: error LNK: cannot open file ‘freeglutd.lib’》一文中提到了一个链接错误:LNK。我们提前来修复它。 在 C/C++ | Preprocessor | Preprocessor Definitions 中,增加:

Screenshot:

设置项目属性(位Release版)

仿照”设置项目属性(位Debug版)”这一章节进行设置。有一些设置是不区分Debug版与Release版的,可以照搬,其余的无非是将原先指向debug版文件的路径改成指向release版文件的路径。 具体操作过程略。

设置项目属性(位版)

具体操作过程略。

参考文章《SETTING UP OPENGL WITH VISUAL STUDIO》 注:我改进了此参考文章中的做法附:系列文章索引OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio OpenGL Tutorial: (2) Creating an OpenGL Window

版权声明:本文为博主原创文章,未经博主允许不得转载。

作战仿真 基于 osg 含有态势显示 客户端 转载请注明出处:

对Android opengl ES世界坐标系和纹理坐标系的理解 初学openglES,每一个教你在屏幕上贴图的opengl版helloworld都有这么两数组:staticfinalfloatCOORD[]={-1.0f,-1.0f,1.0f,-1.0f,-1.0f,1.0f,1.0f,1.0f,};staticfinalfloatTEXTURE_COORD[]={0.0f

Tutorial2 Hello dot! 本文源自:

标签: OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio

本文链接地址:https://www.jiuchutong.com/biancheng/368431.html 转载请保留说明!

上一篇:SCARA——OpenGL入门学习三(opengl sharder)

下一篇:作战仿真 基于 osg 含有态势显示 客户端(作战仿真理论与技术)

  • 增值税专用发票的税率是多少啊
  • 金税四期什么时候正式上线
  • 车船税和保险在一起怎么报销
  • 购货方收到红字发票
  • 企业筹建期间利息支出税前扣除怎么算
  • 未达起征点销售额怎么填申报表
  • 什么是外购类标签
  • 计提残疾人保障金会计分录
  • 计提房产税计入哪个科目
  • 股权转让企业所得税税率
  • 出口退税企业退税时间
  • 委托加工消费税纳税义务发生时间
  • 企业分立特殊性税务处理涉税
  • 红字发票科目入进项税额还是进项税额转出
  • 1元转让股权账务实
  • 契税的计税金额是什么
  • 事业单位非税收入包括哪些
  • 计提企业年度所得税
  • 公司股票卖出会计处理
  • 增值税申报进项抵扣汇总表在哪里
  • 工会经费具体用途是什么
  • 转出多交增值税会计科目
  • 原材料明细账余额为零怎么写
  • 旅行社代订机票发票报销
  • 海关增值税发票双抬头
  • 工商年报的纳税总额怎么填写
  • 商场的租金怎样交税
  • 动态投资回收期名词解释
  • 收到服务费分录怎么写
  • 收到外运公司托收海运运费单据1000美元
  • 如何给电脑文件加密并设置密码
  • linux的使用场合
  • word无法创建工作环境
  • 在mac上安装ios应用
  • 支付汽车耗材费怎么入账
  • ccs是什么软件
  • 我辞职了公积金怎么交
  • 发票报销的账务怎么处理
  • 未分配现付是什么意思
  • php怎么设置管理员权限
  • c++stl详解
  • 非成品油发票为什么不能抵扣
  • 其他综合收益在资产负债表中如何填列
  • 多收了钱怎么记账
  • sql server 2012安装无网络可以OK?
  • 代扣代缴的社保为什么是其他应付款
  • 国债利息属于免税吗
  • 现金折让的账务处理
  • 无票收入如何做凭证
  • 收到微信公众号反诈骗风险提示
  • 返聘的退休人员需不需要缴纳社保
  • 银行回单可以跨年入账吗
  • 工程已完工未开发票确认收入吗
  • 将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用
  • vista正版破解
  • debian和ubuntu命令一样吗
  • centos7如何修改用户名
  • 如何把virtualbox虚拟机里面的文件传到主机
  • java操作windows的文件管理器
  • 无法登录所请求的数据库 用户sa登录失败
  • 怎样加快电脑开机速度
  • windows疑难解答在哪里
  • linux中统计字符命令
  • 龙芯芯片组
  • nodejs操作sqlserver
  • 游戏unity报错
  • javascript中的数字型可以用来保存整数或浮点数(小数)
  • 怎样用在js中使用css的内容
  • python基本用法
  • unity3d技术介绍
  • node.js介绍
  • 合并一个文件夹下多个工作簿
  • 批处理程序删除文件夹中临时文件
  • vue中怎么引入css
  • ug10避让怎么设置
  • 安卓 自动更新
  • android 显示图片
  • 民营非盈利医院能转让吗
  • 北京朝阳区国税局时间
  • 长治一诺代理记账公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设