GLUT的简洁OO封装】的更多相关文章

毕业设计用到了OpenGL,由于不会用MFC和Win32API做窗口程序:自然选用了GLUT.GLUT很好用,就是每次写一堆Init,注册callback,觉得有点恶心,于是对他做了简单的OO封装.记录在此,如有同学有兴趣可以下载. GLUT应用程序 直接使用GLUT的程序是这样的: #include <GL/glut.h> #include <stdio.h> void display() { // OpenGL commands } // 一般按键(所有可打印字符,ESC也在内…
对象将需求用类一个个隔开,就象用储物箱把东西一个个封装起来一样,需求变了,分几种情况,最严重的是大变,那么每个储物箱都要打开改,这种方法就不见得有好处:但是这种情况发生概率比较小,大部分需求变化都是局限在一两个储物柜中,那么我们只要打开这两个储物柜修改就可以,不会影响其他储物柜了. 而面向过程是把所有东西都放在一个大储物柜中,修改某个部分以后,会引起其他部分不稳定,一个BUG修复,引发新的无数BUG,最后程序员陷入焦头烂额,如日本东京电力公司员工处理核危机一样,心力交瘁啊. 所以,我们不能粗粒度…
原文出自http://www.cnblogs.com/binchen-china,禁止转载. ACE源码约10万行,是c++中非常大的一个网络编程代码库,包含了网络编程的边边角角.在实际使用时,并不是所有代码都能用到你的项目中来,相反你只需要其中的一小部分就已经可以完成实际所需. 最近研究其源码最大的感受就是代码量大,资料少,逻辑跳跃大.网上搜了下ACE方面的书籍和资料,也是皮毛上打滚,概念满天飞,侧重讲解如何使用其框架,复杂的底层代码和实现都避而不谈,不如直接看源码来的直接.ACE代码目录结构…
日前CSDN采访了祁宇,请他解读C++11的新标准.C++的现状以及未来的发展前景. CSDN:怎么会想到编写<深入应用C++11:代码优化与工程级应用>这本书的?有没有什么故事可以分享下? 祁宇:我作为比较早使用C++11的开发者,在项目中应用C++11的时候,可以查阅的资料还很有限,主要是通过ISO标准(ISO/IEC 14882:2011),维基百科.MSDN和http://en.cppreference.com/w/等网站来学习C++11.然而,这些地方对新特性的介绍比较零散,虽然知道…
css3出来已经很久了,现在来谈判断浏览器是否支持某个css3的属性虽说有点过时了,但是还是可以谈谈的,然后,此篇主要谈的不是判断是否支持,而是怎么封装更好,为什么这么封装,欢迎吐槽. 入题,判断浏览器是否支持css3 transition,方法很简单,只需要下面这句代码就行了: 'transition' in document.body.style chrome和ie支持document.body,但是Firefox不支持,Firefox支持document.documentElement,对…
请以“仰望星空与脚踏实地”作为题目,写一篇不少于800字的文章.除诗歌外,文体不限. ——2010·北京卷 仰望星空 规范性 Caffe诞生于12年末,如果偏要形容一下这个框架,可以用"须敬如师长". 这是一份相当规范的代码,这个规范,不应该是BAT规范,那得是Google规范. 很多自称码农的人应该好好学习这份代码,改改自己丑陋的C++编程习惯. 下面列出几条重要的规范准则: ★const 先说说const问题,Google为了增加代码的可读性,明确要求: 不做修改的量(涵盖函数体内…
From: http://www.usidcbbs.com/read-htm-tid-1898.html C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件. istringstream类用于执行C++风格的串流的输入操作. ostringstream类用于执行C风格的串流的输出操作. strstream类同时可以支持C风格的串流的输入输出操作. istringstream类是从istream…
C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件. istringstream类用于执行C++风格的串流的输入操作. ostringstream类用于执行C风格的串流的输出操作. strstream类同时可以支持C风格的串流的输入输出操作. istringstream类是从istream和stringstreambase派生而来,ostringstream是从ostream和 strings…
转载自http://www.cnblogs.com/Solstice/archive/2011/07/17/2108715.html 本文主要考虑 x86 Linux 平台,不考虑跨平台的可移植性,也不考虑国际化(i18n),但是要考虑 32-bit 和 64-bit 的兼容性.本文以 stdio 指代 C 语言的 scanf/printf 系列格式化输入输出函数.本文注意区分“编程初学者”和“C++初学者”,二者含义不同. 摘要:C++ iostream 的主要作用是让初学者有一个方便的命令行…
领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章. 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD.领域驱动设计分为两个阶段: 以一种领域专家.设计人员.开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然后将这些概念设计成一个领域模型:由领域模型驱动软件设计,用代码来实现该领域模型:…