重学OpenGL(一)----工具篇
最近想开发一个小工具,需要用到3D,果断上OpenGL,借这个过程把OpenGL重学一遍。
工欲善其事,必先利其器,先把工具都搞好。
【开发语言】
果断C+OpenGL,不解释。
【开发环境】
MinGW Developer Studio
官网下载链接:http://vaultec.mbnet.fi/mingwstudio.php
我下载的是带MinGW的包,没有下GCC的包,是怀疑不能debug(我没有验证过,仅仅是怀疑)。
悲剧的是Avast报病毒(其实根本没有病毒,不知道最近这娃怎么了,老是误报),关杀软,安装。
为什么选这个软件?
第一免费,第二免费,第三还是免费。
具体体验如何?
界面有点像以前的VC6(好多图标都是一样一样的,90后的孩纸们,你们知道什么是VC6吗?),直接打开一个源代码,不能编译。
估计不支持单文件编译,必须要建立一个工程。
工程不能包含中文路径,不然会报找不到模版的错误(开始的时候还真是让老夫为难了一阵……后来才想起以前软件的这个奇葩的通病……)。
怎么调试?
建立的测试工程不能调试?其实是可以调试的,只不过设置断点F5以后,编辑界面没有显示而已(好吧,老夫这里又为难过一阵……)。
按下F10还是可以步进的,奇葩的是监视窗口需要点击菜单Debug-Quick Watch,然后再手动输入或者复制进去。
最奇葩的是,居然鼠标移动到变量上会显示变量值……这么高大上的功能都有,可是程序单步运行到哪里完全靠猜的(界面真的没显示好吗?)。
后面可能根据情况会换成code blocks,如果换了,我再来更新博客。
【参考文档】
官方API手册。
OpenGL超级宝典。
-------------------------------------------------------------------------------------------------------------------------------------------------------
2016-02-19更新
工具还是换成了code blocks,看来我还是有先见之明的。
MinGW Studio的调试的功能确不爽,另外一个原因是这个软件貌似很久以前就不在更新了。
往往不更新就意味着没多少人用,出了问题也很难找到答案了。
更换成code blocks的原因是:
a,调试功能至少界面上还是有提示的,但是其他软件有的F5,F10,F11这种快捷键都没反应,估计要自己设置一下。
b,直接就可以建立OpenGL工程,选项里面还有Glut工程可以选,暂时还不知道区别。
重学OpenGL(一)----工具篇的更多相关文章
- [Android开发学iOS系列] 工具篇: Xcode使用和快捷键
[Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 ...
- 推翻自己和过往,重学自定义View
http://blog.csdn.net/lfdfhl/article/details/51671038 深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 A ...
- 重学 Java 设计模式:实战抽象工厂模式
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获!
- 12天,这本《重学Java设计模式》PDF书籍下载量9k,新增粉丝1400人,Github上全球推荐榜!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言
- 一步一步学ROP之linux_x64篇
一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...
- 一步一步学ROP之linux_x86篇
一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...
- [老老实实学WCF] 第十篇 消息通信模式(下) 双工
老老实实学WCF 第十篇 消息通信模式(下) 双工 在前一篇的学习中,我们了解了单向和请求/应答这两种消息通信模式.我们知道可以通过配置操作协定的IsOneWay属性来改变模式.在这一篇中我们来研究双 ...
- [老老实实学WCF] 第六篇 元数据交换
老老实实学WCF 第六篇 元数据交换 通过前两篇的学习,我们了解了WCF通信的一些基本原理,我们知道,WCF服务端和客户端通过共享元数据(包括服务协定.服务器终结点信息)在两个 终结点上建立通道从而进 ...
- [老老实实学WCF] 第五篇 再探通信--ClientBase
老老实实学WCF 第五篇 再探通信--ClientBase 在上一篇中,我们抛开了服务引用和元数据交换,在客户端中手动添加了元数据代码,并利用通道工厂ChannelFactory<>类创 ...
随机推荐
- pager分页框架体会
<pg:pager> 元素的属性中: maxPageItems说的是每页偏移量是多少,这个并不是说每一页显示多少,而是第二页比第一页来说,在第一页的尾部增加多少,第一页又被覆盖多少,是决定 ...
- Python单元测试——unittest
unittest是python自带的一个模块 python344\Lib\unittest 官方参考文档: http://docs.python.org/2.7/library/unittest.ht ...
- Jquery Table 操作
获取行号 var rowIndex = $("#TableId").find("tr").index($("#RowId")[0]); va ...
- 使用JsonObject解析json
第一种: [ { "0": "1", "1": "一", "id": "1", ...
- MVC的传递数据的方法
1.使用ViewBag #region 0.2 Action方法 + ActionResult Index2() /// <summary> /// Action方法 /// </s ...
- linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装
1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...
- EAX、ECX、EDX、EBX寄存器的作用
注意:在计算加法时,实在32位的累加器上进行,并注意类型之间的转换,数据的截取问题 一般寄存器:AX.BX.CX.DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器 ...
- NSString的几种常用方法
NSString的几种常用方法 要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByRe ...
- (转)浅析Mysql的my.ini文件
原文:http://blog.csdn.net/heirenheiren/article/details/7895139 转载:http://hunanpengdake.iteye.com/admin ...
- 解决mac eclipse 异常退出后无法打开处于loading状态
<workspace>\.metadata\.plugins\org.eclipse.core.resources目录,删除文件 .snap