随笔分类 -  OGRE

摘要:本文主要讲的是《天龙八部》游戏的地形和一部分场景的具体实现,使用C++, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了。文章可能讲得有点罗嗦,很多简单的东西都讲了。我是修改了ETM(Editable Terrain Manager)实现的地形,其实单单实现天龙八部的地形场景等的载入根本不需要使用ETM,直接用Ogre的顶点-索引-纹理就可以搞定地形,但我要做的是可以实时编辑的,所以用了ETM,场景其由于很重要的粒子和model等部分我还没去看,所以等以后看了再详细写关于场景的部分,但这个Demo已经实现了基本的场景的载入。光,雾,环境,静态物等都能载入。 修改过的 阅读全文
posted @ 2010-12-18 13:57 oayx 阅读(1203) 评论(0) 推荐(0) 编辑
摘要:There are two ways to merge meshes during export:Export the scene as a mesh file - When selecting the .mesh extension during an export all meshes in the scene will be merged into a single mesh centered around the world origin.Export the scene as a scene file, with individual meshes configured to be 阅读全文
posted @ 2010-12-17 11:58 oayx 阅读(493) 评论(0) 推荐(0) 编辑
摘要:ResourceResource的类继承体系如下: Resource代表着一类可以被载入的资源,比如Mesh,Texture等。每个资源有其唯一的Name,根据Name可以定位到某个资源,这样也确保了资源只能被载入一次。并且Resource必须在一段时间不使用的时候要被删除。要实现为Resource子类有以下要求:1. 构造函数和Resorce有相同的参数。子类构造函数不允许有其它的参数传入,如果需要设置其它成员变量可以通过Set函数。2. 实现Resource中的纯虚函数loadImpl和unloadImpl。而且mSize必须在loadImpl调用后设置。3. StringInterfac 阅读全文
posted @ 2010-12-13 11:19 oayx 阅读(750) 评论(0) 推荐(0) 编辑
摘要:资源卸载资源数据载入后一直驻留在内存中直到到应用程序强制卸载(通过资源组管理器或者直接释放资源)。也可以通过资源组管理器在组的层级上卸载资源,意思是说所有同一组中的资源会被组管理器一同释放。Ogre绝不会自动从内存中释放资源,并且你不能够强制卸载还被资源组引用的资源。3D应用程序的智能资源管理是一个正在讨论的主题,所以我不能说一个系统好于另外一个。只需要提醒你Ogre不能为你管理你的资源。任何未来的智能资源管理(例如,即时的载入/卸载方式)都必须被开发者支持。幸运的,Ogre允许高度的控制资源的生存周期,象你在这章看到的一样,你可以很容易支持智能的资源管理。 图7-1:资源生存周期示意图 当 阅读全文
posted @ 2010-12-13 10:50 oayx 阅读(406) 评论(0) 推荐(0) 编辑
摘要:1.导出场景前全选中原3DSMAX中的物体,然后再右边工具栏utilitis-reset xform-reset selected一下, 当物体被旋转缩放以后,用这个方式来重整物体的变化矩阵.2. 用OFUSION VIEWPORT查看时发觉有的物体没显示出来, 请先确认场景里有灯光, 在最上面菜单栏ofusion -scene里把背景色改成醒目的颜色,不要是黑色,以免混淆. 如果还发觉有的物体是空的, 位置却是对的, 那很有可能被BACK CULLING了, 打开这个物体的材质, 选中2-SIDES,看看是不是显示出来了. 是的话说明法线反了, 那就转换成EDITABLE MESH, CTR 阅读全文
posted @ 2010-12-12 09:01 oayx 阅读(648) 评论(0) 推荐(0) 编辑
摘要:http://blog.sina.com.cn/s/blog_45209f340100fevc.html从3Dmax导出动画文件在3Dmax里我们可以利用一些现成的.bip文件来驱动我们的模型,通过OgreMax这个插件可以将这些东西到出为ogre支持的文件格式从而,导出到ogre中使用。第一,安装ogremax插件这个没什么可说的,你在网上下载一个安装上就行了。安装后,看以看到在主菜单栏中有:从3Dmax导出动画文件" alt="OGRE手札-31从3Dmax导出动画文件" src="http://hiphotos.baidu.com/sysnoah/pic/item/6709c93d58f 阅读全文
posted @ 2010-12-12 09:00 oayx 阅读(1807) 评论(0) 推荐(0) 编辑
摘要:转至:http://hghhe.blog.163.com/blog/static/3237756820097282715118/在这个教程中我们将创建一个简单的粒子系统效果。通过创建这个基本的粒子系统我们将熟悉很多编辑器的界面,希望我们将知道这个编辑器和Ogre的粒子系统能做什么。在本教程中我们将创建一个这样的粒子系统,一个简单的喷洒效果提示:本教程假定你没有修改编辑器的任何数据文件。好了,打开粒子编辑器。默认的粒子系统将被加载到背景,所有主要编辑窗口都将显示出来,除了Editor Options 窗口虽然显示但默认只显示标题。打开Template Management 窗口(译者注:双击打开 阅读全文
posted @ 2010-12-12 08:58 oayx 阅读(1741) 评论(0) 推荐(0) 编辑
摘要:今天去ogre官网赚了一圈,看到了一款用Ogre做的游戏TorchLight,不妨下下来玩玩。游戏做的很好,说明ogre的强大。在安装目录里看到了ogreMain.dll OIS.dll等熟悉的dll,忽然看到了resources.cfg文件,里面定义了一个pak/zip文件路径。好了找到了zip,600M,里面装了啥?ogre资源!模型,骨骼,贴图。天!!!!。但是里面的模型,骨骼动画并不能直接用,要使贴图起作用要把material里的texture_unit里的png改为dds,要用skeleton的话,就得用OgreXMLconvert将.skeleton文件转换回xml文件,在Anim 阅读全文
posted @ 2010-12-12 08:58 oayx 阅读(893) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/Redefine/archive/2010/04/10/5469378.aspx1. 创建PagedGeometry PagedGeometry *trees = new PagedGeometry(); trees-setCamera(mCamera); trees-setPageSize(50); trees-setInfinite(); // default // 设置显示细节 // 从相机开始150个单位里使用批页面(比实体渲染快), // 这种细节在超过150单位的30个单位里衰减(可选,可能会影响性能)。 trees-addD 阅读全文
posted @ 2010-12-12 08:57 oayx 阅读(525) 评论(0) 推荐(0) 编辑
摘要:Ogre正在开发中的版本,1.7版,引入了新的Terrain Component与Paging Component,Ogre终于开始对地形渲染进行官方的支持了。Ogre官方论坛上sinbad也提到了这个新的Terrain Component的特性及目前的进展,不过他自己也说,虽然他很希望1.7版能在今年发布,但是结果却也很难预测 :(  曾几何时,在Ogre中寻求更加完善的地形渲染支持是多少人都在... 阅读全文
posted @ 2010-11-19 13:25 oayx 阅读(519) 评论(0) 推荐(0) 编辑
摘要:Ogre新的版本在年后首次发布了。1.7较之以往的版本有了长足的进步。由于跟SOC的互动,Ogre 1.7开始慢慢渗透了更多只有商业引擎才有的功能。这得益于最初优良的框架。下面一个一个道来。1.改了个名字,似乎是另外一个怪兽。:) 协议改变,现在是MIT了,总之就是更自由了。2.Sample Browser的引入,社区里有篇写的很详细的文章。很多商业引擎都有,个人觉得实行用其实一般,属于引擎的噱头... 阅读全文
posted @ 2010-11-19 13:22 oayx 阅读(748) 评论(0) 推荐(0) 编辑
摘要:本文主要讲的是《天龙八部》游戏中水面(TerrainLiquid)的具体实现,使用C++, Ogre1.6 。天龙的水面做的比较简单,虽然没有倒影,但动态纹理+深度图做出的效果还行,看着不是特别假。一般情况下,TerrainLiquid有一层动态纹理,有的还会有一层1D深度图纹理,深度图纹理用来控制不同深度水面的透明度。另外还会给出一个坐标,可以称之为种子坐标,通过这个坐标可以填充整个水面。总的来... 阅读全文
posted @ 2010-10-22 15:54 oayx 阅读(859) 评论(0) 推荐(0) 编辑
摘要:低手交流,高手勿入作者:BillHsu主页:http://www.graptor.com/GameRes发帖里的公式什么的可能不太整齐,在这里看可能效果好一点~http://hi.baidu.com/probill/blog/item/32111f1ccbc2cd8086d6b6f1.html剪裁平面(ClipPlane)在图形学领域有着重要的作用,比如水面模拟中,渲染折射纹理时,我们就必须将水面... 阅读全文
posted @ 2010-10-11 10:12 oayx 阅读(691) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--Vector3Math::calculateTangentSpaceVector(constVector3&position1,constVector3&position2,const... 阅读全文
posted @ 2010-10-09 11:15 oayx 阅读(535) 评论(0) 推荐(0) 编辑
摘要:【1. 概览】Ogre支持Quake3的bsp格式。相关的代码在“Plugin_BSPSceneManager”工程中。主要的类有以下几个:Class BspSceneNode:BspSceneNode是SceneNode的派生类,是专门提供给BSPSceneManager使用的。主要是提供针对于BSP tree的可见性判断。这个类并不是BSP tree的node,BSP ... 阅读全文
posted @ 2010-09-24 16:09 oayx 阅读(627) 评论(0) 推荐(0) 编辑
摘要:[前言:在Ogre的FacialDemo中采用了顶点动画(确切点说是PoseAnimation)让面部产生面部表情及发音动画,本文简单介绍了顶点动画的概念,并结合FacialDemo,探讨如何实现PoseAnimation。]顶点动画是直接使用顶点让网格(mesh)产生动画的一种方式。每一组动作在顶点动画中对应一个顶点数据实体。顶点动画被存储在.mesh文件中,因为它与网格的顶点紧密相连。实际上,... 阅读全文
posted @ 2010-09-24 16:07 oayx 阅读(2110) 评论(0) 推荐(0) 编辑
摘要:Ogre的Manager真是多啊,就象个官僚公司,干事的没几个,一堆的Manager,个个丫还都是Singleton.说自己是Singleton却又public构造函数,让人来new它.在第1次被new的时候,偷偷地将this赋给静态成员ms_Singleton,第2次new它就要assert喊冤了,当然这都是叫Singleton的模板基类的那个构造函数干的(典型的小人行径,见不得光).Manag... 阅读全文
posted @ 2010-09-24 15:35 oayx 阅读(644) 评论(0) 推荐(0) 编辑