
OGRE
heaven20062006
这个作者很懒,什么都没留下…
展开
-
OGRE日志文件
如果在自己的项目中使用了OGRE,当么当程序出现错误时,如果有提示说是OGRE中的Exception,我们可以直接找到项目运行产生的ogre.log文件,其它指示了发生异常的具体信息。如:Ogre::ItemIdentityException。如果使用的引擎有自己的日志文件,出现错误就方便多了。原创 2012-04-27 14:13:07 · 671 阅读 · 0 评论 -
OGRE使用OIS鼠标不准确问题
今天在使用OGRE的射线拾取时,发现OIS鼠标坐标不准确。原因为:在帧监听的时候,当获得一个mousemove事件时,向CEGUI中发送一个事件,但是使用的函数是injectMouseMove,改成使用injectMousePosition就可以了。可能是在injectMouseMove之前的许多if()else()使得一些事件没有更新到CEGUI中。丢失了。原创 2012-05-11 16:08:58 · 609 阅读 · 0 评论 -
关于动态库的使用
之前学习静态库和动态库的时候,只是简单地生成一个,使用一下,而在实际的应用中完全不是那么简单。现在我在使用OGRE的库时,DLL版本是1.7.2,但是项目中使用的LIB版本是1.7.4,结果在用一个迭代器的时候总是死循环。原因在于:使用动态库时,LIB中存储的是DLL中的函数的地址,如果两都版本不一的话,可能在动态链编时,访问某一个函数访问到了错误的地址,发生错误。原创 2012-04-23 15:26:48 · 288 阅读 · 0 评论 -
OGRE坐标系
OGRE使用的是与OpenGL相同的坐标系统:右手坐标系。无论SDK使用是DirectX还是OpenGL。原创 2012-04-23 08:48:19 · 1083 阅读 · 0 评论 -
OGRE中的资源组名
在使用OGRE的资源时,有很多函数的参数会用到groupName,那么这个资源组名是什么,从哪里获得呢。ResouceGroupName指的是在OGRE启动时从ogre.cfg文件读取的section名字,ogre程序在启动时会调用Ogre::ResourceGroupManager::getSingleton().initialiseResourceGroup("");来初始原创 2012-05-04 10:51:26 · 691 阅读 · 0 评论 -
sprintf使用%d和%p
int a=10; int *p=&a; char str[128]; sprintf(str, "%d", a); sprintf(str, "%p", a);打印的结果是:100000000A对于这两种字符串,如果将来还要把它转成一个数值,第一种可以,第二种还要明确说明使用十六进制才可以。所以当使用Ogre::StringConverter::to原创 2012-05-04 09:36:01 · 2837 阅读 · 0 评论 -
OGRE粒子调烟花效果
首先,在当前的这个粒子系统中要同时存在至少两个粒子发射器,两个发射器最好者有自己的名字(发射器参数name);然后,让我们来看一下要想调出烟花效果需要了解的一些参数:emit_emitter_quota:同时存在的主发射器发射出的粒子个数;emit_emitter:将来要被发射出来的粒子发射器名称。除此之外,作为辅发射器的一些参数也要进行相应的调整:原创 2012-05-04 10:10:52 · 1016 阅读 · 0 评论 -
OGRE今天遇到的问题
第一:关于Ogre::StringConverter::toString()函数是从面向对向的角度实现,如果使用自己的方式,用sprintf从面向过程的角度。第二:关于使用Ogre库版本的问题,上一次就是因为lib版本和dll版本不一致出现问题,这一次是因为在release生成的时候仍然使用的是ogremain_d.lib;问题的结果是:release 生成,new Roo原创 2012-05-03 17:13:13 · 453 阅读 · 0 评论 -
OGRE粒子系统参数
经过本个多次的调试,发现OGRE粒子系统参数中的quota控制这个粒子系统当前所有粒子的总数,与emit_emitter_quota相比,后者是指可以发射另一个发射器的粒子的总数。举例来说:如果一个系统中存在两个或两个以上的粒子发射器,quota指两个发射器总共可以发射粒子的上限数;emit_emitter_quota只有当一个发射器可以发射另一个发射器时,主发射器总共可以发射粒子的总原创 2012-05-03 10:21:24 · 488 阅读 · 0 评论 -
OGRE的参数quota
对于一个OGRE的粒子系统而言,可以发射的粒子的总数quota在创建粒子系统时已经确定,不能进行动态地修改,如果使对总数设置有效,只能删除当前的粒子系统,然后再以被设置的总数重新创建一个粒子系统。详细代码可以参考OGRE的粒子编辑器源代码。下面这个链接只给了一个svn地址http://www.ogre3d.org/tikiwiki/OGRE+Particle原创 2012-05-03 09:35:31 · 350 阅读 · 0 评论 -
CEGUI控件随着窗口大小改变而改变
如果想上CEGUI的控件随着窗口大小的改变而改变,只要调用一个函数:CEGUI::System::getSingletonPtr()->notifyDisplaySizeChanged( CEGUI::Size((float)(rw->getWidth()),(float)(rw->getHeight())));原创 2012-06-15 15:15:45 · 497 阅读 · 0 评论