包含ogre1.9源码的词条
本文目录一览:
- 1、OGRE依赖库文件OgreDependencies_MSVC_20101231的作用是什么,知道的说下,给10分
- 2、ogre中如何加载从3ds max中用ogremax导出的场景
- 3、Ogre软件如何使用
- 4、OGRE游戏引擎是什么 ?
- 5、ogre 骨骼导入3dsmax,如何处理?
- 6、Ogre学习如何使用着色器脚本(参考例子CelShading)
OGRE依赖库文件OgreDependencies_MSVC_20101231的作用是什么,知道的说下,给10分
这个是Ogre进行编译时需要的支持文件,一般包括OIS库,CG库,GUI库,这些库在Ogre中均经常用到。如果缺少这些文件,则源码无法进行编译,后期编译出来的Ogre也无法使用OIS、CG、GUi等。仅供参考~
ogre中如何加载从3ds max中用ogremax导出的场景
你可以到处mesh文件,至于加载scene你可以参看官网里面的帮助文档。
我没有研究过,但是知道得用哪个库文件。
Ogre软件如何使用
如果下载的是SDK的话,只需将其解压缩,然后再设置一下你编译器的头文件以及库文件的包含目录即可。
如果是源码的话先用CMAKE编译一下再使用。
OGRE游戏引擎是什么 ?
是一个开源图像引擎!只能做游戏图像!
OGRE(Object-Oriented Graphics Rendering Engine,即:面向对象图形渲染引擎)是一个用C++开发的面向场景、非常灵活的3D引擎,它旨在让开发人员更容易、更直接地利用硬件加速的3D图形系统开发应用。这个类库隐藏了底层系统库(如:Direct3D和OpenGL)的所有细节,提供了一个基于世界对象和其他直观类的接口
编辑本段OGRE引擎
一、它能做什么?
能做许多!你可以参考特性页中当前特性的更新列表。你也可以通过网站上的截屏看到它是多么棒。 三、OGRE是一个游戏引擎吗? 不。OGRE能(实际上就是)被用于开发游戏,但是OGRE被设计成只提供一个世界级的图形解决方案;对于其他的特性,如:音效、网络、人工智能、碰撞检测、物理等子系统,你则需要将其整合到OGRE中,在这些子系统中,已有一些成熟的库可供选择,在发布的SDK中,我们有一个碰撞/物理的参考整合库的例子。 那为什么OGRE不是一个游戏引擎呢?原因之一是:不是每一个需要3D引擎的人都想用其来做游戏,我们并没有假设你要将OGRE用于游戏开发、模拟、商业应用、或是其他用途。其次,游戏产业中的需求是相当广泛的;以MMORPG(Massive Multiplayer Online Role Playing Game,即:大型多人在线角色扮演游戏)为例,它比起FPS(First Person Shooting,即:第一人称射击)类游戏,需要不同类型的网络库,再如一个格斗类游戏将需要不同类型的碰撞/物理系统。如果OGRE包括了所有这些特性,你将被迫在一系列内建的假定的需求下使用一套有针对性的库,那将不是一个好的设计。相反,我们提供了一个用于整合其他库的非常友好的API。许多有经验的游戏开发者已经证明了这一点,因为没有内建的限制。这可能会使得那些仅仅只是想创建另一种类型的FPS游戏的新用户感到更加沮丧,但是对于这些人来说,已经有大量现存的采用OGRE提供完整解决方案的综合库可供使用。然而,需要明白的是OGRE自身总是保持足够地独立和灵活,以致能够与任何其他库融为一体。“与其他库协作和整合,而不是实现他们”的原则是面向组件设计的标准原则。
二、为什么建议使用OGRE?
其他引擎,虽然有些在技术上给人以很深的印象,然而由于缺乏内聚性设计和一致性文档致使它们不能被有效地使用。它们中的许多有很长的特性列表,但是由于缺乏清晰的思路将其整合在一起而给人一种像是用麻绳将这些技术捆绑到一起的感觉。就像其他软件系统一样,当它们变得更大的时候,也就是它们衰败的时刻。大多数其他引擎也被设计为适用于某一类特定游戏(例如:FPS)。 OGRE不同。OGRE的设计理念是“以设计为主导”,而非“特性为主导”。被加进OGRE中每一个特性都是经过深思熟虑,使其尽可能地优雅,并保证了文档的一致和详尽,这样让人感觉这个特性与全局浑然一体。品质胜于数量,因为数量可以随后被增加,然而质量却不可能在后面被添加。OGRE采用那些在商业级软件中被反复试验、学习和验证过的完善的设计原则(在OGRE名字中所提及的面向对象只是这些实践中的一种,其他还有经常使用的设计模式)。我们有意识地保持核心开发团队的小规模,团队中的成员都是有多年开发经验的软件工程师。我们欢迎来自社区的补丁,但是在它们被接受之前,它们必须被严格地审核以求符合OGRE质量和内聚性的设计要求。 OGRE并没有假定你想做某种类型的游戏或DEMO,它采用灵活的类层次允许你为你所喜欢的任何场景开发特定的场景管理插件。想要快速层次渲染室内场景吗?很好,你可以使用现有的BSP(Binary Space Partition,即:二叉空间分割)/PVS(Possible Visible Set,即:可见集)场景管理插件。那对于室外呢?你同样可以使用其他的场景管理插件。引擎的其余部分如以前一样继续准确无误地运行。 因此,一个简短的回答是:如果你喜欢具有高质量、灵活性和清晰文档的设计,那么,请选择OGRE,你将知道它是有意义的。
三、它真的是免费的吗?
OGRE的源代码遵循LGPL(GNU Lesser General Public License,即:GNU 宽通用公共许可证[1]),这基本上意味着你可以免费使用它,但是当你对内核引擎做了修改并将发布的时候,你必须将你的源代码一同发布。但是你所创建的应用或开发的新插件则不必发布其源代码。全部协议条款请参考授权页面。 -------------------------------------------- [1] 什么是 GPL、LGPL 和 GFDL?它们和源代码以及商业销售之间的关系是什么? GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证);GFDL 是 GNU Free Documentation License (GNU 自由文档许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。 基于 GPL 的软件允许商业化销售,但不允许封闭源代码。 如果您对遵循 GPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 GPL 协议,不允许封闭源代码。 基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。 如果您对遵循 LGPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 LGPL 协议,不允许封闭源代码。但是如果您的程序对遵循 LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。 [译者注:本文由Groov0V翻译,转载请指明出处] OGRE能运行在linux和windows平台下 LINUX下可以使用各发行版自带的包管理器下载安装,其次,3D模型素材可以使用blender绘制,安装blender的ogre扩展包后导出即可在ogre中使用
ogre 骨骼导入3dsmax,如何处理?
我推荐你使用Ogre来做,从3dsmax里导出场景文件,再倒入Ogre中就可以,很简单的,可以看一些Ogre方面的书籍,都有介绍。 ...1. 先把模型和动画导出成为...
Ogre学习如何使用着色器脚本(参考例子CelShading)
Ogre中如何使用着色器 通过SDK中的例子CelShading来了解如何使用着色器. 通过源码分析, 需要包含头文件 "RTShaderSystem/OgreRTShaderSystem.h", 以及库文件 OgreRTShaderSystem.lib 源码构造了一个类 ShaderGeneratorTechniqueResolverListener, 由类Ogre::MaterialManager::Listener派生而成. 使用Ogre::RTShader::ShaderGenerator::initialize() 和 Ogre::RTShader::ShaderGenerator::finalize() 初始化和关闭着色器生成器 如何着色程序传递 uniform 参数 调用Ogre::Entity::getSubEntity() 得到一个 Ogre::SubEntity 调用Ogre::SubEntity::setCustomParameter 传递一个自定义 uniform 参数给着色器 本例传递了散色光颜色, 镜面光颜色, 以及 shininess 值 CelShading 使用的脚本分析 材质Examples/CelShading vertex_program_ref和fragment_program_ref分别关联顶点着色器脚本和片段着色器脚本 param_named_auto 定制了由Ogre更新的CUSTOM参数 default_params 参数定制了一系列参数缺省的值 着色器原理: 顶点着色其计算三个浮点数 diffuse, specular, edge. diffuse 和 specular 则是根据光照公式计算出来的散射光和镜面光因子. edge 则为目标到眼睛的单位向量在法线上的投影值. 如果如果角度大于90, 则edge为0, 如果角度等于0, 则edge为1. 角度越小, 则可以表示更清晰的颜色. 在片段着色器中, 最终颜色为 diffuse * edge * 散射颜色 + specular * 镜面颜色.