08 2012 档案
摘要:来源:http://school.ogdev.net/ListShow.asp?ListType=1&TypeID=8 很早以前就想写一些关于OGRE的文章了,一直没机会。 理解一个渲染引擎,我觉得最重要的是先抓住了它的主架构,它的主线,渲染流程,不然的话,一个引擎几万行,甚至几十万行的代码,光是打开solution就能吓你一跳了,OGRE也有十几万行的代码量,我一开始看它的时候也是无从下手,感觉代码太多了,不知道从哪开始看好,这个class看看,那个class看看,由于对整个引擎没有一个清晰的认识,看过了也印象不深,所以,最后,还是决定先找出它的主线,了解它的渲染流程,这样才能有机地
阅读全文
摘要:ogre渲染流程: 1. _fireFrameStarted() 2. 按某种优先级更新所有渲染目标 2.1 firePreUpdate() 2.2 更新所有视口 2.2.1 fireViewportPreUpdate() 2.2.2 场景管理的渲染函数 2.2.2.1 更新阴影 2.2.2.2 更新动画 2.2.2.3 更新节点 2.2.2.4 更新一些参数 2.2.2.5 清空渲染队列 2.2.2.6 填充渲染队列 进行可见性判别 2.2.2.6.1 firePreFindVisibleObjects() 2.2.2.6.2 查找可见节点并加入渲染队列 2.2.2.6.3 firePost
阅读全文
摘要:一、场景管理有很多种方法,如四叉树、八叉树、BSP、模糊K-D树、包围球层次结构等。室内环境主要是BSP为主,从quake3一直延续到现在主流的引擎都是以BSP为基础,BSP使用并不难,关键是数据的生成,这就牵涉到场景编辑器。 Quake3、Unreal:BSP,有自己的编辑器。 FarCry:场景分为室内和室外两部分,室内场景使用BSP, 室外不清楚但应该跟地形有很大关系,同时为了支持超远距离视距使用了地形Occlusion Culling,另外也可以手动放置OcclusionArea。 RenderWare:模糊K-D树,内置了很多种K-D树切割方法,读者可以借鉴到自己的引擎,我自己试过把
阅读全文
摘要:编译器VS2010http://www.ogre3d.org/下载ogre_src_v1-8-0.exeOgreDependencies_MSVC_20101231.zipboost可以安装也可以不安装,建议安装,用Boostpro Boost Installers安装即可参考下面网站:http://www.cnblogs.com/leiben/archive/2011/02/08/1949997.html安装ogre_src_v1-8-0.exe到E:\OGRE1.8\ogre_src_v1-8-0,解压OgreDependencies_MSVC_20101231.zip到E:\OGRE1.
阅读全文
摘要:Ryzom的开源着实让我震惊和激动了一把!Ryzom Core项目现在基于GPL协议,开放了包括客户端、服务器全部源代码、编辑器全部源代码、游戏数据、美术资源等等,这是2009年到2010年开源社区的一件大事情,也是自由软件基金会最近很高优先级的项目。本来一直找不到好平台来做研究的CH系统(见CH大事记系列文章),现在又可以以Ryzom Core为基础得到一次巨大的发展机会,看来之后一段时间里我的生活又将是非常有趣的。另外一方面,Tao Project的梦想看来又找到了更多的支持和基础设施,毕竟站在巨人的肩上能看得更远,更避免了不断闭门造车! 在国内还找不到一个讨论Ryzom游戏设计的及其Ne
阅读全文
摘要:http://www.cnblogs.com/cproom/archive/2007/09/14/893496.html场景图一直被认为是适合游戏的通用场景管理算法,仿佛没实现过场景图就不算写过引擎。但是经过思考和分析,我觉得场景图并不适合作为一种通用的场景组织方式,在下面我会说明理由,并提出一种替代的适合目前mmorpg网游的场景管理方式。如果大家有什么不同看法可以和我讨论。 场景图是一种层级组织场景的数据结构,要生成场景图就要选择一种层级关系,或曰父子关系,或曰继承关系。比如几何变换矩阵的级联关系,或者空间范围的包围关系,或者渲染属性的继承关系。然而你选择了一种关系就不得不放弃另一种关系,
阅读全文
摘要:1.天空的种类目前描述“天空”的技术主要包括三种类型:平板型天空(Sky Plane),仅用一个平板放到头顶。天空穹(Sky Dome),放到头顶的是一个曲面。天空盒(Sky Box),放到场景的是一个立方体。天空盒经常是由六个面组成的立方体,并经常会随着视点的移动而移动。天空盒将刻画极远处人无法达到的位置的景物。2.天空盒的实现与D3D实现的普通立方体不同的一点是,大部分情况下我们视点都包容在天空盒内部,因此,天空盒的顶点顺序应当是正好与普通立方体的顶点顺序相反。 最简单的天空盒,只需要填写好六个面的24个顶点,最后为每个面贴上纹理即可。3.一些杂论天空盒对于程序员并不是困难的...
阅读全文
摘要:在进行3D场景渲染时,天空是必不可少的因素。对于3D天空的模拟在视景仿真系统、计算机游戏、三维动画中有着广泛的应用。但是,目前对于天空的仿真还存在很多不足,一些模拟方法中存在实现复杂、计算耗时、图像分辨力不高,真实感不强且只能生成静态图像等问题。本文在研究了前人仿真天空算法的基础上,利用目前3D图形行业中流行的OpenGL技术和有被誉为"大自然的几何学"美称的分形理论,提出了一种更加简单实用的仿真3D天空的方法,可以仿真出具有动态效果和不同天气的3D天空,绘制速度快,真实感强。l构造天空模型1.1 OpenGL技术[1.2]OpenGL作为一套图形标准,由数百个功能函数组成
阅读全文