关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 三维渲染引擎编辑器的研究

三维渲染引擎编辑器的研究

作者:时间:2009-10-19来源:网络收藏

(3)PagedGeometry分页几何体它是OGRE的第三方插件,用来优化渲染覆盖无限区域的巨大数量的微小实体。该非常适合用来渲染户外场景。如拥有成千上万颗树的茂密森林。分页几何体与平面实体引擎相比具有很多优势,其中最重要的是速度,如果细节层次使用得当,由分页几何体管理的户外场景比平面实体渲染速度要快100倍。另一个优势是分页技术的使用,即只有当实体需要立即被显示在场景中时,才会将该页的实体载人内存,这样就可以几乎无限放大虚拟场景。
(4)Hydrax它也是OGRE的第三方插件,提供一个易用的库用来渲染漂亮的水纹场景。Hydrax提供的所有渲染效果都是可配置的,包括深水效果、平滑过渡效果、泡沫效果及水下光线效果等,这些效果还可以根据需要实时变化。

本文引用地址:http://www.eepw.com.cn/article/202631.htm

4 系统设计与实现
系统结构如图1所示。此是基于插件的针对O-GRE的所见即所得,通过它能够快速构建一个场景模型,也可以把这些场景作为内容载入OGRE应用程序。

4.1 插件技术原理
插件的本质在于不修改程序主体(平台)而对软件功能进行扩展与加强。当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,实现真正意义上的“即插即用”软件开发。“平台+插件软件”结构是将一个待开发的目标软件分为两部分,一部分为程序的主体或主框架,可定义为平台,另一部分为功能扩展或补充模块,即定义为插件。
4.2 插件的实现方法
的插件实现方法是在框架代码中创建接口,这些接口使框架与动态库解耦。插件提供接口的实现。把插件与动态链接库区分开是因为它们的加载方式不同:程序不会直接链接插件,而是在某些目录下查找,如果发现便按照配置文件中定义的方式进行加载。
插件实现过程涉及很多类。下面仅介绍5个类CBaseEditor,CBaseEditorFactory,OgreEditorRoot,CTerrainEdi-tor,CETLEditorFactory,并列出部分代码阐述捕件实现过程,见图2。

CBaseEditor是定义的接口,由其派生的CTerrainEditor是接口的实现,即插件。当点击主界面的ETL按钮时,O- greEditorRoot能够监听到点击该按钮事件的发生,随后调用dllStartPlugin函数。dllStartPlugin函数负责调用创建 CTer-rainEditor对象的工厂,由工厂(CETLEditorFactory)编辑器对象(CTerrainEditor)实例。



关键词: 引擎 编辑器

评论


相关推荐

技术专区

关闭