Ogre各种场景管理器以及和插件关系深入分析

OgreMax的Scene直接导入到ogre中 该框架程序用于将嵌入到3ds中的ogreMax插件所产生的scene文件,导入到ogre中。方法:将压缩文件models文件释放到$(ogre_home)\media\models下即可。 立即下载

OgreOctreeSceneManagerDll.cpp文件

extern "C" void _OgreOctreePluginExport dllStartPlugin( void )
{
    // Create new scene manager
    octreePlugin = OGRE_NEW OctreePlugin();

    // Register
    Root::getSingleton().installPlugin(octreePlugin);

}

上面的Root::getSingleton().installPlugin函数调用下面的OctreePlugin::install()函数和OctreePlugin::initialise()函数

OgreOctreePlugin.cpp文件

void OctreePlugin::install()
 {
  // Create objects
  mOctreeSMFactory = OGRE_NEW OctreeSceneManagerFactory();
  mTerrainSMFactory = OGRE_NEW TerrainSceneManagerFactory();
  mTerrainPSListenerManager = OGRE_NEW TerrainPageSourceListenerManager();

 }
 //---------------------------------------------------------------------
 void OctreePlugin::initialise()
 {
  // Register
  Root::getSingleton().addSceneManagerFactory(mOctreeSMFactory);
  Root::getSingleton().addSceneManagerFactory(mTerrainSMFactory);
 }

经过上面两个函数后,Root中就含有(官方叫注册)两个特定类型的场景管理器工厂,可以用来创建特定的场景管理器(得到管理器工厂就可以认为得到了管理器)

OgreOctreeSceneManager.h文件

class _OgreOctreePluginExport OctreeSceneManager : public SceneManager

class OctreeSceneManagerFactory : public SceneManagerFactory

从上面的两个类的声明可以看出,他们继承与对应的接口类,这些接口类是Root中识别的。

OgreTerrainSceneManager.h文件

class _OgreOctreePluginExport TerrainSceneManager : public OctreeSceneManager

class TerrainSceneManagerFactory : public SceneManagerFactory

对应的cpp文件中有

//-----------------------------------------------------------------------
 void TerrainSceneManagerFactory::initMetaData(void) const
 {
  mMetaData.typeName = FACTORY_TYPE_NAME;
  mMetaData.description = "Scene manager which generally organises the scene on "
   "the basis of an octree, but also supports terrain world geometry. ";
  mMetaData.sceneTypeMask = ST_EXTERIOR_CLOSE; // previous compatiblity
  mMetaData.worldGeometrySupported = true;
 }
 //-----------------------------------------------------------------------

可以看出地形场景管理器继承与八叉树场景管理器。在cpp文件的函数中有ST_EXTERIOR_CLOSE表示类型。

OgreRoot.h文件

Root类中的SceneManager* createSceneManager(SceneTypeMask typeMask, const String& instanceName = StringUtil::BLANK);函数有如下说明:

Creates an instance of a SceneManager which supports the scene types identified in the parameter. If more than one type of SceneManager has been registered as handling that combination of scene types,  in instance of the last one registered is returned.

 

需要说明的是只要你没有修改plugins.config文件,那么你用的就不是它,因为根据config文件默认是加载了OctreeSceneManager插件的。如果你使用了OctreeSceneManager插件的话,OctreeSceneManager会将自身注册为ST_GENERIC类型,并且覆盖作为基础的SceneManager类。OctreeSceneManager使用了拣选不可见对象的系统,因此它比标准的SceneManager即默认的ST_GENERIC类型的场景管理器要快。如果你从plugins.cfg文件中去除了OctreeSceneManager插件,那么当你请求ST_GENERIC类型时,你才可能会使用基础的SceneManager。

选择一个场景管理器
你可以通过getSceneManager 方法选择一种场景管理器,来代替默认的ST_GENERIC :
Dagon 1.2 version 以后版本:
mRoot->createSceneManager (ST_GENERIC);
老版本:
mRoot->getSceneManager (ST_GENERIC);
它们的参数有以下值可选择:
      • ST_GENERIC – 如果你设定加载Plugin_OctreeSceneManager 将使用八叉树管理, 如果你设定加载Plugin_DotSceneManager 就可以加载DotScene (.scene)
      • ST_EXTERIOR_CLOSE – 地形场景管理Terrain_Scene_Manager
      • ST_EXTERIOR_FAR – 自然场景管理(Nature scene manager)
      • ST_EXTERIOR_REAL_FAR – 分页场景管理Paging_Scene_Manager
      • ST_INTERIOR – BSP场景管理

(1)八叉树场景管理器,当使用八叉树分割场景时,对于多数场景效果良好,除了那些非常封闭的场景,它的优点是:

          •一个简单的解决方案,对于多数场景实用。 
          •如果有大量静态几何体,可以用StaticGeometry 类来加速
它的缺点是:

          • 对特殊的场景结构没有加速
          • 不适用于非常封闭的空间

 

(2)地形场景管理器(Terrain Scene Manager ),是为非常小的包含静态地形的场景所设计的。这个场景管理器方便从高度图来产生场景。(通过读取media目录下的terrain.cfg文件来生成地形)。
优点:
        • 可以很快渲染高分辨率的地形
        • 可以很方便地由高度图和地形材质产生地形
        • 材质可以使用shader
缺点:
        • 没有分页- 有hooks接口但是你需要添加它


(3)自然场景管理器 (Nature Scene Manager:插件)
似乎没人用,略。

(4) 分页场景管理器(Paging Scene Manager:插件)
Paging Scene Manager 可以将场景分成多页。只有哪些正在被使用的页面才会显示,随意可以用在非常大的场景上。每个页有自己的高度图,并且可以使用不同材质。(可以创建绿色平原上的雪山之类的场景)
优点:
       • 可以处理比terrain and nature scene managers更大的场景
       • 允许实时卸保存载地形
       • 允许多个高度图,每个高度图允许多材质
       • 地图工具 ( "Mapsplitter") 可以将大地图和材质分成页
       • 支持16 bits per height 的Raw 格式的高度图
       • 实时改变地图和材质
       • Demo: http://tuan.kuranes.free.fr/Ogre.html
       • Horizon Occlusion Visibility Real-time determination:比如山之后的物体不会被送到显卡处理
       • 支持八叉树
缺点:
      • 需要安装paging scene manager 插件
      • 需要用地图工具来产生分页
      • 更多的选择也意味着更复杂

 

(5)5. BSP 场景管理器
该场景管理器用来管理室内场景。特别会优化那种有交错的墙壁和走廊组成的场景。
为BSP场景管理器产生level的步骤简要如下:
       • 可以用 各种level编辑工具来创建你的level,用.map格式保存
       • 将.map格式编译成Quake 3的.bsp格式,这种格式可以被BSP场景管理器读取。(可以用q3map3来转换)
优点:
       • 可优化室内场景
       • 很多level编辑工具可选择
缺点:
       • 现在可能有一些GPU处理不了Quake 3的 .bsp 格式
       • 一些人建议不要用Blender来创建level, 而是要导出为.scene格式

 

(6)DotSceneOctree 场景管理器(插件)
DotSceneOctree 场景管理器可以令几何体和mesh存在同一个文件中。
优点:
       • 可以在一个文件中包括所有场景
       • meshes可是是静态或者动态
       • 支持八叉树
缺点:
      • 需要工具来建立八叉树文件 (.bin) 
      • 不支持32 bit indices,所以大的mesh需要切开

下面说一下地形场景管理器(Terrain Scene Manager )的terrain.cfg文件参数说明

如果你已经做出决定要使用地形场景管理器,那么下面介绍的一些东西是你需要知道的。
场景中地形的形状和着色是由高度图、地形纹理和地形细节纹理共同计算而得的。高度图是一张简单的灰阶图,其中每个像素点代表一个高度值,0代表这个地形的地面,255代表最高点。例子中有一个叫做terrain.png的高度图,可以供大家实验用。
一张纹理图伸展开来覆盖整个儿地形。纹理图一般都是棕、绿、白或灰间杂的颜色,对应土地、草地、雪地或者岩石地形。因为地形纹理一般比要覆盖的地形小得多,故而当你距离很近地观察它时,地形一般会看起来比较模糊。为了帮助改善这一点,在近距离观察时,就要用到细节纹理,与地形纹理混合使用。细节纹理并不像地形纹理那样伸展得那么大,仅仅是减弱了近距离观察时产生的地形模糊现象。例子中的terrain_texture.jpg以及terrain_detail.jpg这两个纹理可供实验使用。
一个地形被分割为一小块儿一小块儿的像地砖一样的地形方块儿,由场景管理器按这些地形块儿的拓扑结构和观察者的距离依照不同的细节层次进行显示。
最后,用一个指定了地形维度的世界坐标空间,将完整的地形投影到一个三维空间中。

地形场景管理器通过terrain.cfg脚本进行配置。
(1)基本配置参数
这个脚本中的基本参数有:
WorldTexture:指定地形纹理文件的名字。
DetailTexture:指定细节纹理文件的名字。
DetailTile:指定细节纹理在每个地形块儿上重复的次数。例如,如果值为n,那么细节纹理在每个地形块儿中将会以nxn个网格的形式被显示出来。设置这个参数可能需要做一些实验。如果数值设低了,地形可能在近距离观察时会看起来很模糊。如果数值设得太高,地形可能出现距离很远时仍然不断重复匹配图案。
PageSource:指定高度图的源。默认设置是Heightmap。
Heightmap.image:绘制高度图的图像文件。因此必须是一个边长为2^n+1(2的n次方+1)的正方形,n位整数。高度图越大,地形就越详细,但是同时你的程序所耗费的资源也相应越多。(包括程序的启动时间更长。)
PageSize:地形最终会有PageSize x PageSize个顶点。PageSize必须与高度图的边长数值相同,即此数值也是2^n+1,n为整数。
TileSize:地形砖有TileSize x TileSize个顶点。这个数值必须小于PageSize。TileSize的值也必须满足2^n+1,n为整数。地形砖的大小设置得太小严重影响效果,而设置得太大会导致场景中某些部分使用不必要地过高细节,浪费资源。
MaxPixelError:当决定使用LOD时,这一参数指定最大容错值。这个值设得过高会导致地形有接缝。设置得过低会影响效果。
PageWorldX, PageWorldZ:设置在世界坐标系下的地形扩展。地形越大,地形的细节就越低,因为用于地形的顶点数是基于高度图的,而不是世界的大小。这可以被用来将地形伸缩成你想要的大小。
MaxHeight:世界坐标系下,地形的最大高度。高度图0到255的范围,伸缩成世界坐标系下0到MaxHeight。
MaxMipMapLevel:指定渲染地形时用到的细节层次数。距离较远的地形和相对平坦的地形可以使用较低细节渲染。

(2)高级配置参数
一些高度图生成器将数据保存为原(raw)格式而不是图像(image)格式。下面这些参数就是描述原格式的。
Heightmap.raw.size:指定高度图一边的长度。值必须是2^n+1,且n为整数。
Heightmap.raw.bpp:指定文件中每像素是用多少字节表示的。例如,1=8 bits,2=16 bits。
Heightmap.flip:当设置为true,翻转高度图。Required for Terragen heightmaps.
以下参数控制场景管理器的其他操作。
VertexNormals:这个参数让TerrainSceneManager在硬件缓冲区中计算并设置顶点法向。如果使用光照或者需要它的GPU程序,应当打开这个参数。
VertexColours:这个参数让TerrainSceneManager在硬件缓冲区中计算并设置顶点颜色。如果你用到了需要这个信息的GPU程序,就要打开这个参数。
UseTriStrips:当设置为yes,则优化地形三角形送入GPU的顺序,以便送入较少的顶点。(虽然对于大多数新款显卡来说,帧率没什么变化)。因为在某些显卡上可能会导致“裂缝”产生,并且很少甚至没什么性能提升,所以建议还是关掉好。
VertexProgramMorph:如果可以的话,使用定点程序变形LODs。
LODMorphStart:LOD变形开始起效的相应距离范围。这是当前LODs作用范围和下一个更低级别的LOD作用范围之间的距离的一个比例。

(3)更多高级参数
不使用地形纹理和细节纹理渲染地形,你可以给出你自己的渲染方式,特别是用你自己的材质。典型用法就是在材质中提供你自己的顶点程序。
MorphLODFactorParamName:如果VertexProgramMorph设置为yes并且你的自定义材质中包含有一个高级顶点程序,那么使用这个选项。这个参数指定了你想要绑定变形LOD的顶点程序参数名。参数范围时是到1。0(最高)表示没有调整,1表示完全由变形控制作为下一个低级LOD的同一点。
MorphLODFactorParamIndex:如果VertexProgramMorph设置为yes并且你的自定义材质中包含有一个汇编级的顶点程序,那么使用这个选项。这个选项代表了你想要绑定变形LOD因子的顶点程序参数的索引。 参数范围是0到1。0(最高)表示没有调整,1表示完全由变形控制作为下一个低级LOD的同一点。
CustomMaterialName:要定义渲染地形的材质名。


(4)使用自定义材质
你可以使用自定义材质渲染你的地形。如果你的材质包括顶点程序,以下的参数是可以使用的:
位置(positions)
两个纹理坐标集合(0号是世界纹理,1号是细节纹理)
法线,如果启用的话
每顶点delta值,为将一个高一级的LOD变形为低一级的LOD地砖。这是一个像'blend weight'一样的每个顶点都有的浮点数。如果你想使用这个参数,你也必须提供你想接收变形因子的参数的名字或者索引号。

OgreMax Dot Scene OgreMax Dot Scene OgreMax 插件导出的场景通过该源代码可以加载至ogre进行显示。 立即下载

相关推荐

OGRE场景管理分析

场景组织是整个 Engine的灵魂, 而且到目前为止没有适用于任何场景的场景组织方式,所以都是以 Abstract Factory方式进行组织,然后根据不同的场景采用不同的场景组织方式,再进行绘制。 场景组织就像一个舞台, 需要摄影机、 灯光、 服饰、 道具和演员。 那么摄影机就是 Camera,灯光就是 Light,服饰就是 Material,道具就是场景中的 Static Object,而演员就是 NPC。对于不同的场景需要不同的组织方式,才能有效的进行管理。但是对于不同的场景都有其基本特性。本文从这些基本特性进行分析。

OGRE 所有版本(从0.1到1.7) (SDK 及 源码 及 扩展库) 下载地址

OGRE 所有版本 (SDK 及 源码) 下载地址 http://zh.sourceforge.jp/projects/sfnet_ogre/releases/   或者SVN地址 https://svn.ogre3d.org/svnroot/ogre/    或Mercurial repository hosted http://bitbucket.org/sinbad/ogre

Chinamming的专栏 5054

OGRE分析之场景管理

OGRE分析之场景管理,对于学习ogre的很有帮助

系统升级手记:从OGRE1.2到1.4

如果原来系统就是基于OGRE做的话,升级就按照ogre官方网站上升级Porting notes修正改过后的函数及函数接口;师兄给的这个MotionSynthesis系统,是一个基于MFC,用到了OGRE的一些API,加上原来没有读过源代码,所在改起来还花了些功夫。下来是整理出来的步骤,其实解决问题的思路和过程才是一种财富:1、下载了OGRE1.4的SDK以及OgreDependencies_V

chindy的专栏 2435

lift off工艺为什么常用蒸发的方式镀膜?

电子束蒸发中,蒸发物质从源头直接升华并沿直线路径沉积到晶圆上,它可以避免金属在掩模侧壁的覆盖,只在表面进行沉积。在镀膜结束后,在进行光刻胶剥离时,去胶液无法与光刻胶接触反应,导致光刻胶剥离很困难。欢迎加入我的半导体制造知识星球社区,目前社区有1900人左右。我观察到晶圆厂中lift off工艺,镀膜都是用的电子束蒸发的方式,很少有用磁控溅射的方式,为什么?需要增加撕胶工序,将胶面上覆盖的膜层撕掉,使光刻胶露出,这样才容易剥离。上图为磁控溅射的膜层截面图,去胶液很难突破侧壁膜层,进行反应。

1685

Web3前沿技术的智能合约安全审计

随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。

AI天才研究院 1546

初探Ogre 引擎!---- (2)OGRE初级教程

最近开始用OGRE这款引擎想做点东西,在网上查资料发现虽然说OGRE已经算是资料很多的了,但是依然存在不少问题,会让初学者摸不着头脑,其实这些问题都是很基本的问题,比如说如何对OGRE进行配置,我下载的OgreSDKSetup1.6.0_VC71,直接解压安装这个文件。 OGRE在Visual Studio2003下配置步骤 1.配置Direct3D9开发环境打开VC++2

我是一只夜行的猫仔 3164

手把手教你用SlowFast训练自定义手势识别数据集(附FFmpeg抽帧技巧)

本文提供了一份基于SlowFast架构训练自定义手势识别数据集的完整实战指南。文章重点剖析了数据准备的核心挑战,详细讲解了利用FFmpeg进行高、低帧率抽帧的技巧,并介绍了构建半自动标注流水线、生成符合SlowFast要求的AVA格式数据集文件的具体方法。最后,针对手势识别场景,给出了关键的模型训练配置与调优建议,帮助开发者高效完成从数据到模型的全流程。

s1t2u3的博客 909

Axiom3D写游戏:第一个窗口

  Axiom主要的代码大致翻看了下,就想到了自己来模拟一下游戏开发.   这章主要包括创建窗口及3D渲染的一些基本元素,并添加一个第三人称的骨骼动画作主角,加上前文中修改过后的地形组件,能用鼠标和键盘进行漫游.如下图所示.     在Axiom上给出的例子中,可以选择是用OpenGL或是DirectX渲染,现在有问题的地方是如果用OpenGL渲染,而Axiom鼠标与键盘输入采用的是Sharp...

weixin_34321977的博客 264

别再手动找触点了!EPLAN线圈触点映像的3种显示方式与F键/Ctrl+B快捷键实战

本文详细解析EPLAN线圈触点映像的3种显示方式与F键/Ctrl+B快捷键实战技巧,帮助电气设计工程师提升图纸操作效率。通过精简编号、路径栏显示和元件旁可视化三种模式的应用场景对比,结合快捷键肌肉记忆训练法,实现触点快速定位与管理,大幅减少手动查找时间。

weixin_42522964的博客 481

告别仿真失败!用Sigrity 2022 SystemSI搞定DDR4信号质量仿真的保姆级流程

本文详细介绍了如何使用Sigrity 2022 SystemSI工具进行DDR4信号完整性仿真,提供了一套避免仿真失败、提高仿真精度和加速仿真流程的保姆级方法。从模型验证、设计数据预处理到拓扑构建和参数提取,再到高级调试技巧和仿真加速方案,帮助硬件工程师系统性地解决DDR4信号质量仿真中的常见问题。

weixin_42537499的博客 342

Ogre 1.x 与 2.x的对比

Ogre 在2020年4月份推出了 2.x版本,该版本不在于1.x兼容,该版本的推出是为了在pc平台上的更高渲染效率,面向新的GPU架构和接口。 OGRE不是一个,而是两个 "姐妹 "项目。它们是相关的,但它们并不一样--因为它们彼此不兼容。您可能会对选择哪个版本感到困惑。下面的信息将帮助你找到适合你需求的版本。 Ogre1 您需要第1方组件(如体积、覆盖、MeshLOD)和第3方插件(如GUI解决方案、导出器)。 您的目标是移动平台(Android、iOS、WebGL、Windows UWP)。

daxiao47的博客 668

【四足机器人项目实战】四足机器人弹簧倒立摆(SLIP)动力学模型

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言1.动力学建模构型方法2.四足机器人动力学模型(1)多体动力学模型【针对躯干+脚建模】方法一:VMC(VirtualModelController)模型方法二:SLIP模型(2)浮基单体动力学模型【针对躯干建模】【用于MPC】 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人动力学模型-VMC、SLIP和浮动机体模型做个简

qq_35635374的博客 7310

Ogre场景管理器

第五章 Ogre场景管理器 在这里我可以大胆的断言,目前在地球上,所有的图形引擎都在使用场景图(Scene Graph)的概念来组织管理它里面可渲染的物体(我甚至怀疑外星人也在用这个)。 场景图在图形引擎中的地位是毋庸置疑的,它不仅提供了对用户在空间中查找和搜索物体提供了高速的优化,并且针对程序库(对我们而言就是Ogre)的渲染需要,提供了相应的搜索、排序以及剔除功能。在某些时候也被用来进行

debugconsole的专栏 4027

回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证

回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证 目录回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证基本介绍划分原理留一划分交叉验证K折交叉数据下载程序设计参考资料致谢 基本介绍 在机器学习里,通常来说我们不能将全部用于数据训练模型,否则我们将没有数据集对该模型进行验证,从而评估我们的模型的预测效果。为了解决这一问题,有如下常用的方法: 第一种是最简单的,也是很容易就想到的。我们可以把整个数据集分成两部分,一部分用于训练,一部分用于验证,这也就是我们经常提到的训练集

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 6375

【示波器专题】示波器探头的原理深入——有源探头之差分有源探头

差分有源探头是一种特殊的有源探头,与普通单端有源探头的区别在于其前端的放大器是差分放大器。差分放大器的好处是可以直接测试高速差分信号,同时其共模抑制比高,对共模噪声的抑制能力比较好。...

一点硬件 2623

转:Ogre源码剖析 - 场景管理之Octree

由于本人的引擎ProjectGaia服务于08年创新杯的游戏项目 – 3D太空游戏,所以理所应当加入Octree(八叉树 – 已经周宁学长发帖介绍过)场景管理器.参考了无数Octree的代码,发现还是我们可爱的Ogre写的最好,于是狂看n千行代码,把精髓提取出来给大家共享. 鉴于我们游戏版教程又n久没有更新了,今天发一篇我对Ogre场景管理器之Octree源代码分析的笔记. 所有代码...

aolan7349的博客 229

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Ogre:Animation(Ogre中的动画)

在Ogre中Animation是一块非常重要的部分,但是笔者在学习Ogre的动画时遗憾的发现关于Ogre中动画的资料非常的少,Ogre的sample中只有最简单的导入一个骨骼动画的例子,在网上也很少有人谈及,Ogre Wiki中的教程也是边边角角,不知这么重要的部分为什么不做一个全面的tutorial。我从网上的仅有的一些资料和自己的亲自试验总结了一下基本的Ogre动画的使用,当然Ogre的动画模

愤怒的小小强 709

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

天龙八部源码描述

天龙八部(武侠世界)的源码很可能是天龙八部代码流出后改写的,因为在看了代码中可以找到一些证据,整个客户端分为:一个是编辑器,一个是客户端,采用OGRE+cegui+自写的简单的物理碰撞检测+FMOD+自写的网络库。 服务器端代码目前没仔细关注 客户端总体的描述如下: UI系统 CEGUI UI基础系统 CEGUI渲染器 Expat XML解析器 CEGUI依赖,估计编写者不喜欢用 Free...

weixin_33716941的博客 185

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ogre的场景管理器

原文地址:ogre的场景管理器作者:zhouwenjie在通常的情况下,Ogre的场景管理器会负责处理以下事情: ·在场景中创建和放置活动物体、灯光以及摄像机,并维护他们的在场景图中的周游和变换。 ·载入和布置世界地图(World geometry,与活动实体不同,世界地图是巨大且可以延伸的,通常情况下是不可移动的,比如一个完整的BSP地图)。   ·对场景查询(Scene Queries)的支持

胖大星的博客 877

OGRE中的模块

Email: norman_chen@163.com  renwind@163.com QQ: 18725262http://www.173d8.comOGRE中由很多模块组成,每个模块互相配合,共同实现OGRE的强大功能和优秀特性。OGRE的模块大致可表现为如下结构,这也基本上是OGRE工程文件的结构:OgreMainPlatformManagers    S

痞子龙3D编程 3343

Ogre 加载.Scene文件

Introduction Because DotSceneInterface in ogreaddons hasn't been updated for a long time now, and because the DotScene Loader with Us

在那西天取经的路上。。。 825

OGRE源码分析:场景树模块

引擎名称:OGRE 版本:1.11.5 分析模块:场景树模块(Node,SceneNode,Bone,OctreeNode,TagPoint) 引擎模块介绍 本次分析是场景管理的一部分内容,及场景的组织方式(场景树),该模块的功能是将场景中所需要用到的对象存储起来,以节点、骨骼、八叉树等不同组织方式进行描述场景树。 场景结构图如下: 根节点的位置往往在场景的中心。每个节点对象都用数据成员保存相对于...

qq_43069546的博客 2159
上一篇: 设计模式--Iterator迭代器模式(Java例子)
下一篇: c++高级---c语言中关于运算符优先级和运算符集合顺序的理解(*p++和*++p的区别)
HNFXS985
博客等级 码龄14年 219粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值