重学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<>类创 ...
随机推荐
- 预写式日志WAL
Chapter 25. 预写式日志(Write-Ahead Logging (WAL)) Table of Contents 25.1. WAL 的好处 25.2. WAL 配置 25.3. 内部 预 ...
- C# MP3文件属性读取
using (TempFile tempFile = new TempFile()) { using (FileStream fs = new FileStream(tempFile.FileName ...
- goldengate复制过程字符集处理一例
源端是oracle, al32utf8,表里有乱码,目标端是sybase cp936,两端的DB都不能改字符集,而且源端是目标端的超集,当复制有乱码的数据(非中文或英文数字等),目标端replicat ...
- A problem needed to review and fix later
urllib2.URLError:<urlopen error [Errno 110] Connection timed out> still have no idea how to fi ...
- javascript笔记5-BOM
Javascript应用的平台很多,不仅仅针对Web.在Web中使用Javascript,BOM(browser object model,浏览器对象模型)是核心. BOM提供了很多对象,用于访问浏览 ...
- Generic method return type
Here's the Animal class: public class Animal{ private Map<String,Animal> friends =new HashMap& ...
- OD调试篇5--如何应对OD使用中的一些问题
打开小甲鱼给的进行恶搞过的程序,会发现一些问题 发现程序直接暂停,或者加载进来有问题. 那机智的我 通过对上一个没有恶搞过的exe可执行文件的PE头进行了比较 会发现其中的猫腻 那么我们去正常的修改一 ...
- Date and Time
The PHP date() function is used to format date and/or a time and formats as timestamp to a more read ...
- 20145210 《Java程序设计》第08周学习总结
第十四章 NIO与NIO2 14.1 认识NIO •NIO概述 •NIO使用频道来衔接数据结点 •在处理数据时,NIO可以让你设定缓冲区容量 •Channel架构与操作 •isOpen():确认Cha ...
- Socket编程回顾,一个最简单服务器程序
第一次接触服务器是快毕业的时候,是不是有点晚(# ̄ω ̄),这也导致工作方向一直没考虑网络编程这块,做了好多其他没啥“意思”的技术. 之前看到一篇博文提到程序猿80%都是庸才,10%是人才,10%是天才 ...