上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 33 下一页
摘要: 《Real Time 3D Terrain Engines Using CplusplusAnd DirectX9》(实时地形引擎)随书源码,gaia引擎源码下载:http://ishare.iask.sina.com.cn/f/23556371.html 阅读全文
posted @ 2012-03-17 21:54 ☆A希亿 阅读(1034) 评论(0) 推荐(1) 编辑
摘要: Vector内部数据结构:连续存储,例如数组。随机访问每个元素,所需要的时间为常量。在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。可动态增加或减少元素,内存管理自动完成,但程序员可以使用reserve()成员函数来管理内存。迭代器失效插入:vector的迭代器在内存重新分配时将失效(它所指向的元素在该操作的前后不再相同)。当把超过capacity()-size()个元素插入vector中时,内存会重新分配,所有的迭代器都将失效;删除:当进行删除操作(erase,pop_back)后,指向删除点及其后元素的迭代器全部失效。建议:使用vecto 阅读全文
posted @ 2012-03-17 00:01 ☆A希亿 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/lichkingct/archive/2009/05/04/1449101.html一. 种类:标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串非标准关联容器hash_set、hash_multiset、hash_map和hash_multimap。几种标准非STL容器,包括数组、bitset、valarray、stack、queue和priority_que 阅读全文
posted @ 2012-03-16 23:58 ☆A希亿 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 很多玩过飞行射击类游戏的朋友都对跟踪导弹印象深刻,手中有这样一款武器常常能够战无不胜,但是敌人射出的导弹则可能成为玩家的噩梦。其实实现导弹跟踪的方法并不复杂,只需要一些简单的平面解析几何知识就可以做到。算法分析假设导弹旋转角速度为omega,运动速度为v。下图显示了导弹和目标在坐标轴中的初始状态。初始时刻,目标与导弹的运动方向都是-Y,位置分别为(x1,y1),(x2,y2),连接导弹与目标的坐标,得到一条线段,该线段与-Y轴夹角为c;导弹与-Y方向的夹角为b,b是导弹已旋转的角度,此时为0;导弹方向与线段的夹角为a,a就是导弹还需要旋转的角度。此时:c=90-Math.atan2(y2-y1 阅读全文
posted @ 2012-03-08 22:43 ☆A希亿 阅读(5361) 评论(2) 推荐(2) 编辑
摘要: 用UML表示树型的数据时,很特别,所以在这里特别画一画。注意,因为UML的关联本身就代表了一个引用,所以不需要再在类图中再写出来(如Parent, Childs). 阅读全文
posted @ 2012-03-07 04:22 ☆A希亿 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 只是粗略的分析原理,大虾轻喷~~Gaia引擎中没有场景管理器(scenemanager)这种东西,但是并不是没有场景管理,而是在cGameHost类中有一课场景树进行场景组织、一棵四叉树用来进行剪裁。class cGameHost class cGameHost : public CD3DApplication, public cSingleton<cGameHost>{。。。。。。 cSceneNode m_rootNode;//场景树根节点 cCamera m_defaultCamera; cCamera* m_pActi... 阅读全文
posted @ 2012-03-07 03:46 ☆A希亿 阅读(629) 评论(0) 推荐(1) 编辑
摘要: At the very top of the diagram is the Root object. This is your 'way in' to the OGRE system, and it's where you tend to create the top-level objects that you need to deal with, like scene managers, rendering systems and render windows, loading plugins, all the fundamental stuff. If you d 阅读全文
posted @ 2012-03-05 11:53 ☆A希亿 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 由于本人的引擎ProjectGaia服务于08年创新杯的游戏项目 – 3D太空游戏,所以理所应当加入Octree(八叉树 – 已经周宁学长发帖介绍过)场景管理器.参考了无数Octree的代码,发现还是我们可爱的Ogre写的最好,于是狂看n千行代码,把精髓提取出来给大家共享.鉴于我们游戏版教程又n久没有更新了,今天发一篇我对Ogre场景管理器之Octree源代码分析的笔记.所有代码采用伪代码.首先回顾一下Ogre场景管理的架构Ogre以插件形式提供了多种场景管理器1. BSP管理用于支持Quake系列2. Terrain管理,优化大型的地形场景3. Octree管理,用处多多,很适合太空游戏4. 阅读全文
posted @ 2012-03-03 22:45 ☆A希亿 阅读(1604) 评论(0) 推荐(1) 编辑
摘要: 场景图与场景内容分离虽然没有得到权威的论证,但我还是坚信场景图和场景内容的分离的设计一定是整个Ogre项目中最亮眼的地方。虽然看起来它是一个如此的简单易懂,不过对于那些仍然坚守“传统的设计方法”来完成场景图设计的人仍然会难以理解。在传统设计中(就是很多商业和开源3D引擎所采用的)将场景内容和场景结构放到一个继承体系中,并将场景内容生硬的作为场景节点的子类。我断言这是一个极其失败的设计方案。如果不修改所有的子类,基本上是没有办法更改或者扩充图形算法的,因此让修改基类的接口非常困难,进而导致以后的维护工作变得举步维艰。此外这种“所有节点源自同一节点类型”的设计思想会让整个程序变得凝固且难以复用(至 阅读全文
posted @ 2012-02-28 22:10 ☆A希亿 阅读(1176) 评论(2) 推荐(0) 编辑
摘要: 最近对游戏引擎又有了新的理解。。对渲染队列越来越有感觉,自己写的demo里面也已经有了发送到渲染器统一渲染的思想。。至于资源管理部分demo里面还没有,原来大致的了解了,就像是gaia源码分析(一)资源管理里面说的一样,至于场景管理还有些理解模糊。。要接着看《实时地形引擎的第五章》。。总体来说就是根据不同的场景管理方法来确定cSceneNode和cSceneObject的关系最后场景管理器发可见部分发送到渲染队列。渲染列表排序后发送到渲染器进行渲染。。场景管理提高了渲染效率、。。 阅读全文
posted @ 2012-02-27 22:43 ☆A希亿 阅读(214) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 33 下一页