SweetDream
高歌一壶新酿酒,醉抱青山不必归。
摘要: 今日在网上看到另一个Singleton的实现方式:和Ogre的那种比起来有如下好处:1.使用了auto_ptr自动释放Singleton类。2.解决多线程冲突。------------------------------目录------------------------------本文的主要内容为:1、Singleton模式的基类2、基本的Singleton容器3、Singleton模板4、引入... 阅读全文
posted @ 2006-11-29 14:08 SweetDream 阅读(530) 评论(0) 推荐(0) 编辑
摘要: Singleton模式与在Ogre中的实现 Singleton模式的用意是对于一个Class全局只能创建一个实例。常规的做法是把构造函数藏起来,然后通过静态方法返回唯一的一个静态实例。 class Singleton { private: static Singleton *ms_Instance; public: Static Singleton* GetInstan... 阅读全文
posted @ 2006-11-25 19:55 SweetDream 阅读(656) 评论(4) 推荐(1) 编辑
摘要: 条款7:当使用new得指针的容器时,记得在销毁容器前delete那些指针 当一个指针的容器被销毁时,会销毁它(那个容器)包含的每个元素,但指针的“析构函数”是没有操作操作!它肯定不会调用delete。 条款8:永不建立auto_ptr的容器 当你拷贝一个auto_ptr时,auto_ptr所指向对象的所有权被转移到拷贝的auto_ptr,而被拷贝的auto_ptr被设为NULL... 阅读全文
posted @ 2006-11-07 13:49 SweetDream 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 版本:Server:cvsnt-2.5.03.2382Client:TortoiseCVS-1.8.291.安装Server和Client.2.控制面板->CVSNT Server->Service control panel3、建立知识库,:在Service control panel选择Repositories, 然后点击”Add”, 选择或新建一个文件夹, 比如这里我们新建一个”CVSSer... 阅读全文
posted @ 2006-10-25 21:41 SweetDream 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 获取系统时间 #include #include using namespace std; int main(void) { struct tm *times; //定义时间指针变量.....(只能用指针) time_t t; //定义系统时间变量,供提供系统时间 t = time(0); /... 阅读全文
posted @ 2006-07-19 22:10 SweetDream 阅读(2186) 评论(0) 推荐(0) 编辑
摘要: C/C++语言中的typedef相信大家已经不陌生,本文对C/C++语言关键字typedef的各种用法作一个介绍。 typedef,顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。例如: typedef unsigned int UINT; int main (int argc, char *argv[]) { ... 阅读全文
posted @ 2006-05-10 10:27 SweetDream 阅读(11995) 评论(2) 推荐(0) 编辑
摘要: OGRE是如何处理初始化对话框的也就是root->showConfigDialog()这个函数究竟在底层进行了一些什么工作。 这个函数分为三个步骤: 1.创建一个对话框:dlg = mPlatformManager->createConfigDialog(); 2.显示对话框并进行配置:isOk = dlg->display(); 3.销毁这个对话框:mPlatformManager->destr... 阅读全文
posted @ 2006-05-01 11:17 SweetDream 阅读(695) 评论(1) 推荐(0) 编辑
摘要: 要实现环境映射,只需要创建一个合适的环境纹理图,然后让OpenGL生成纹理坐标。 创建纹理可以用一些处理图像的工具得到,基本上这个纹理就是一个能反射外界环境的一个球体的反射表面。创建了环境纹理图后,需要启用OpenGL的环境映射算法,对于要渲染的物体上的点,在环境图中找到一个这样的纹素:它对应的球面点的切面与该物体点的切面相同,并将该物体点的颜色绘制为该纹素的颜色。 要自动生... 阅读全文
posted @ 2006-04-27 20:06 SweetDream 阅读(876) 评论(0) 推荐(0) 编辑
摘要: z-buffering 和 w-buffering都表示深度值。几乎所有的3-D加速卡都支持z-buffering,这样就使得z-buffers成为现在最常用的深度缓冲类型。但是,z-buffers也有它本身的缺陷。由于它所使用的数学方法,使得一个z-buffer中产生的z值在它允许的范围内[0.0,1.0]并不是均匀分布的。特别是靠近剪切面与远离剪切面处的比例,更是影响了z值的均匀分布。如果远平... 阅读全文
posted @ 2006-04-26 22:00 SweetDream 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 条款11: 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符 理由: 使用缺省的拷贝和复制会产生一系列不良结果--例如在进行字符串的拷贝时,被拷贝指针曾指向的内存永远不会被删除而产生内存泄露;或者两个指针中任何一个调用析构函数都将导致另一指针指向的那块内存被删除等。 当用一个已经初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用: 1.当对象直接作为... 阅读全文
posted @ 2006-04-21 13:00 SweetDream 阅读(839) 评论(0) 推荐(0) 编辑