摘要: 前面写过了dtCore::Base的一些学习体会,现在往下说说dtCore::System。在接触过的几个仿真引擎中(貌似只有vp和Delta3d)都使用了这个作为高级帧控制手段。如果要想将引擎开发出来的项目塞到MFC这类东东中也就需要自己手动来使用它了。其实应该是重新dtABC::Application 并在里面调用System的函数。那么了解它也就变得很重要了。尤其对我这种入门级菜鸟来说。 由于里面的内容比较多,我准备将其分为两个部分来说: 1 它是如何控制帧的 根据自身状态发送消息 2 它是根据什么来控制帧的 系统时间,自身状态 , 真实时间 模拟时间先列出该类中一部分函数和内置变量吧 阅读全文
posted @ 2011-03-29 20:46 Oo灰色调 阅读(334) 评论(0) 推荐(1) 编辑
摘要: 话说用了 Delta3D 能有一段时间了(有一个月了?)项目不用急着完成,结果却是越做越懒。做项目的过程中发现 Delta3d 的系统实在是太庞大了 osg ,ode, cal3d , cegui… 全都堆一起了。再加上以前不是搞图形的,最核心的 部分入门无方,崩溃 ing 。呃 既然本人图形学目前是个白痴,就准备先不具体看 osg 的实现,而是从 delta3d 的整体构架来慢慢学习。顺便用这段时间补一下图形方面的基础知识,从抽象层和底层两头并进。 闲话不多说,一切从源头开始 ---- 大部分 Delta3D 类罪恶的源泉 dtCore::Base 关于 Base 类的分析网上已经有文章了, 阅读全文
posted @ 2011-03-29 17:07 Oo灰色调 阅读(368) 评论(0) 推荐(0) 编辑
摘要: dtCore::Base这个是所有“重型”类(heavy-weighted)的基类,主要实现两方面特性:1、自身管理,包括命名、维护 instance 列表;2、消息管理,主要是用 signal-slot 机制。dtABC::BaseABC这个类不大,但相当杂。理解起来,应该从 namespace 的名字入手。我猜想 ABC 的意思大概是 Application Base Class ,这样的话,BaseABC 当然就是 Delta3D 应用的最基本框架了。这个类的确包括了一个 Delta3D 应用的所有基本要素:窗口、视图、场景、键盘、鼠标、事件。感觉这个类的设计相当失败:1、为了共享代码, 阅读全文
posted @ 2011-03-29 15:31 Oo灰色调 阅读(761) 评论(1) 推荐(1) 编辑
摘要: 1、文档在开发中的作用及重要性;2、数据结构问题:树、二叉树、链表、队列、堆栈;3、数据库基本知识:B_Tree、R_Tree等;4、线程与进程的概念和关系;5、怎样使程序易于维护;6、指针和引用;(1)int x = 20; Int* ptrx = &x; //声明指针,并赋值 Int z = *ptrx;//重引用指针(dereferencing pointer)注:ptrx——x的内存地址 *ptrx——ptrx所指向的对象的值,即x的值(2)引用(Reference)MyStruct* pStruct = new MyStruct; MyStruct& Ref = *p 阅读全文
posted @ 2011-03-29 15:30 Oo灰色调 阅读(239) 评论(0) 推荐(0) 编辑