OGRE
文章平均质量分 50
hesong_qiao
这个作者很懒,什么都没留下…
展开
-
material 文件
<br />每一个material 与一个 图片相对应?原创 2010-12-02 09:22:00 · 824 阅读 · 0 评论 -
防止摄像机穿透地面
<br />基于射线查询的方式,实现摄像机和地形的碰撞检测,防止摄像机穿透地面,这也是ogre demo中Terrian例子中的方法。<br />首先定义 RaySceneQuery* raySceneQuery = 0;<br />在CreateScene时候,创建场景查询<br /><br /> frameRenderingQueued事件中,进行射线查询,设定摄像机位置<br /> raySceneQuery = mSceneMgr->createRayQuery(<br />转载 2010-11-19 10:13:00 · 1273 阅读 · 0 评论 -
Ogre::Overlay之添加3D
<br />为什么向Overlay加入3D? Oververlay一般是用来处理2D界面的,如GUI界面等。但有些时候,我们想做些特别的界面,比如左上角加入一个人物状态框,上面可以有人物动作,人物可以旋转观察等。 在我使用Overlay的过程中,我就发现一个问题(也不知道算不算问题):overlay在旋转的时候,大小会变化! 如下图所示:<br />旋转90度后就成了<br />不管是旋转overlay还是旋转纹理,旋转后实际大小都会变化,所以我在overlay中使用3D(旋转3D大小是不会变化的)来解决转载 2011-01-10 20:51:00 · 1481 阅读 · 0 评论 -
OGRE 使用技巧总结
OGRE 使用技巧总结1.所有需要挂在SceneNode上的user-object, 都需要从MovableObject来继承,比如一个最典型的应用是 3DSoundSource.<br /><br />2.Ogre中RenderQueue的相关标号,标号越小的其最先渲染。<br />Background - Queue 0<br />Skybox - Queue 20<br />World Geometry - Queue 30<br />MovableObjects - Queue 50<br />Ov转载 2010-12-27 12:08:00 · 575 阅读 · 0 评论 -
进度条的实现
<br />在ogre中有一个资源管理器ResourceGroupManager, 该资源管理器负责文件的加载,也负责文家的加载进度的通知.其文件加载的进度的实现如下:<br />1.ogre提供了一个叫ResourceGroupListener的监听器, 客户端需要继承该类,然后通过覆盖start()的虚拟函数进行一些初始化工作, 在start()中需要调用ResourceGroupManager::getSingleton().addResourceGroupListener(this); 来通知资源管转载 2010-12-27 12:01:00 · 578 阅读 · 0 评论 -
Ogre::MaterialPtr
<br />Ogre中的材质一般都是读取*.material尾缀的文件。<br /><br />1.首先使用Ogre::MaterialManager中的create方法创建一个材质,例如: Ogre::MaterialPtr red<br /> = Ogre::MaterialManager::getSingleton().create("DebugLines/Disabled","DebugLines");<br />第一个参数为 材质名;<br />第二个参数为 资转载 2010-12-27 20:41:00 · 1623 阅读 · 0 评论 -
加载场景时,遇到的无法显示场景的问题。遇到问题一定要去看Ogre.log
<br />当在resource_d.cfg中定义的资源组为[General]<br />而在用DotSceneLoader的parseDotScene解析资源时,第三个参数要么不写,要么一定要和[General]一致,否则会出现无法解析<br />场景的情况。<br />另外遇到 问题一定要去看Ogre.log,也许那里面会有出错记录。原创 2010-12-25 21:38:00 · 3422 阅读 · 0 评论 -
手动加载和利用Resource_cfg加载出现了不同的效果。
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../Media/Models/XX.zip","Zip","General"); Ogre::ResourceGroupManager::getSingleton().initialiseResourceGroup("General"); Ogre::ResourceGroupManager::getSingleton().loadResourceGrou原创 2010-12-23 21:48:00 · 931 阅读 · 0 评论 -
OGRE资源的四种状态
<br />未定义<br /> 游戏程序启动时所有资源的默认状态,资源未被索引,所以OGRE不知道它们的存在。<br />已声明<br /> 资源已被索引,OGRE已经知道这些资源的存在,但它们还没被初始化。<br /> (平时我们读取了资源配置文件之后,资源就进入了这种状态。)<br />未载入<br /> 资源已被初始化——被初始化的资源都生成了一个分别对它们的引用(这些引用会占用小部分内存),但资源还没被载入到内存。<br /> p.s.:如果某个资源有一个脚本,则脚本也转载 2010-12-23 17:27:00 · 534 阅读 · 0 评论 -
画中画
<br />void BaseApplication::createCamera(void){ // 主窗口摄像机 mCamera_1 = mSceneMgr->createCamera("Cam_1"); mCamera_1->setPosition(Vector3(0,0,300)); mCamera_1->lookAt(Vector3(0,0,-300)); mCamera_1->setNearClipDistance(5); // 画中画摄像机 mCamera_2转载 2010-12-14 15:50:00 · 600 阅读 · 0 评论 -
鼠标的相对绝对坐标,以及Axis类
class _OISExport Axis : public Component { public: Axis() : Component(OIS_Axis), abs(0), rel(0), absOnly(false) {}; //! Absoulte and Relative value components int abs, rel; //! Indicates if this Axis only supports Absoulte (ie JoyStick)原创 2010-12-09 17:37:00 · 1829 阅读 · 0 评论 -
.overlay
1,在引用.overlay文件中的定义的layout 或者 layoutElement的时候要注意大小写。原创 2010-12-02 11:24:00 · 684 阅读 · 0 评论