重学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<>类创 ...
随机推荐
- [转] Android应用程序与SurfaceFlinger服务的关系概述和学习计划
转自:Android应用程序与SurfaceFlinger服务的关系概述和学习计划 SurfaceFlinger服务负责绘制Android应用程序的UI,它的实现相当复杂,要从正面分析它的实现不是一件 ...
- 介绍NSURLSession网络请求套件
昨天翻译了一篇<NSURLSession的使用>的文章,地址:http://www.cnblogs.com/JackieHoo/p/4995733.html,原文是来自苹果官方介绍NSUR ...
- solaris下的常用命令
屏幕显示: cat输出到屏幕: more 整屏显示,b显示上一屏,f显示下一屏: head显示文件的前n行: tail显示文件的后n行: man查看命令帮助: 目录操作: 创建目录: mkdir, ...
- KeySweeper 微软无线键盘嗅探装置
Author:Samy Kamkar From: http://samy.pl/keysweeper/ 中文字幕由Galaxy无名提供 PS:视频传到youku之后发现50秒左右的字幕被干掉了,不知道 ...
- PHP header()函数
对header函数,我用得最多的就是跳转页面和设置字符集,其他的功能用得比较少. 一.设置字符集 其实我们用的最多的在在html代码当中的<meta>标签里面设置字符集.格式如下: < ...
- ERP联系人查询和修改(十六)
查看和修改是同一个界面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="L ...
- JLOI2010 冠军调查 最小割
var b,f:..] of longint; s,t,i,j,n,m,x,y:longint; l,h:..]of longint; a:..,..]of longint; procedure bf ...
- Tranparent/cutout/diffuse
Shader "Tranparent/cutout/diffuse" { Properties { // _Color ("Main Color", Co ...
- Nunit 使用介绍
Nunit是.NET平台单元测试框架,其是从Junit发展而来,它强大之处是支持所有的.NET语言. Nunit的下载地址:http://www.nunit.org 介绍1: 布局: 左面:我们写的每 ...
- 转:服务器控件的 ID,ClientID,UniqueID 的区别
动态加载用户控件的怪问题 动态加载用户控件的时候,会因为调用一些控件的一些属性和方法而造成控件命名混乱. 因为add 一个用户控件或者 loadcontrol 的时候 如果没有指定控件的id,clie ...