Ogre
文章平均质量分 63
道道道人间道
这个作者很懒,什么都没留下…
展开
-
Ogre Compositor分析
一、相关类及说明 下图列出了Ogre系统Compositor相关的类1、CompositorManager 主要负责管理合成器的加载、创建、销毁等操作2、Compositor 表示合成器对象的类,可类比材质系统中的Ogre::Material类3、CompositionTechnique 合成器的technique,被包含在Compositor对象中(一个Copositor对象可包含多个CompositionTechni...原创 2021-10-21 16:39:52 · 1121 阅读 · 0 评论 -
Ogre光源查找与设置
在渲染一个具体的物体之前,Ogre会查找与该物体相关的光源,根据光源的范围,内角和外角(如果是聚光灯)等参数进行计算,如果物体受到光源的影响,则将此光源的参数传入着色器进行光照计算。如果没有找到一个光源,那么传入一个空白的光源参数给着色器。查找物体相关的光源代码如下:bool Light::isInLightRange(const Ogre::Sphere& container) const { bool isIntersect = true; //directional lig原创 2021-09-30 21:26:32 · 176 阅读 · 0 评论 -
[踩坑]Ogre透明物体的渲染和判断
以上是Ogre帮助文档所写的,理论上默认是开启透明物体排序的,但是渲染出来的结果却不是预想的那样,而设置transparent_sorting force才能达到效果。这跟Ogre对透明物体的判断有关Ogre中对透明物体的判断并不是只对AlphaBlend参数的判断,还依赖与Depth Check 、Depth Write 、Color Write,具体见以下代码:void RenderPriorityGroup::addRenderable(Renderable* rend, Techni...原创 2021-05-13 10:48:51 · 272 阅读 · 0 评论 -
解决Ogre导入中文字体时的崩溃问题
bool createSceneFont(){ Ogre::OverlaySystem* pOverlaySystem = new Ogre::OverlaySystem(); m_pSceneManager->addRenderQueueListener(pOverlaySystem); Ogre::FontPtr tempFont = static_cast<Ogre::FontPtr>(Ogre::FontManager::getSingleton()..原创 2021-05-12 20:32:43 · 246 阅读 · 0 评论 -
pitch、yaw、roll三个角的区别
Z轴正方向为前进方向pitch():俯仰,将物体绕X轴旋转(localRotationX)yaw():航向,将物体绕Y轴旋转(localRotationY)roll():横滚,将物体绕Z轴旋转(localRotationZ)...转载 2019-08-27 16:39:58 · 71485 阅读 · 6 评论 -
Ogre : How to actually get morph animations to work in the engine
IntroductionOgre features both Morph animation and Pose animation. The difference between these two techniques is explained in the manual. However, what is not explained there, is how to actua转载 2017-05-12 18:27:17 · 296 阅读 · 0 评论 -
Ogre骨骼动画分析
http://3dlearn.googlecode.com/files/ogre skeleton animation.pdf欢迎指出文中错误1 前言骨骼蒙皮动画分两步骤进行:根据时间插值更新骨骼、然后根据骨骼更新每骨骼上的顶点。为了好玩,暂且这样看:在每一个时间点,对每一个骨骼,我们创建一个骨骼魔法,并将骨骼魔法施放到每一个骨头上;有个这些骨骼然后我们开始蒙皮,我们找出每一转载 2017-04-14 10:59:52 · 492 阅读 · 1 评论 -
骨骼蒙皮动画(Skinned Mesh)的原理解析(一)
一)3D模型动画基本原理和分类 3D模型动画的基本原理是让模型中各顶点的位置随时间变化。主要种类有Morph动画,关节动画和骨骼蒙皮动画(Skinned Mesh)。从动画数据的角度来说,三者一般都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。但由于这三种技术的不同,关键帧的数据是不一样的。 Morph(渐变,变形)动画是直接指定动画每一帧的顶点位转载 2017-04-13 14:41:31 · 649 阅读 · 0 评论 -
骨骼蒙皮动画(Skinned Mesh)的原理解析(二)
2)蒙皮信息和蒙皮过程 2-1)Skin info的定义上文曾讨论过,Skinned Mesh中Mesh是作为皮肤使用,蒙在骨骼之上的。为了让普通的Mesh具有蒙皮的功能,必须添加蒙皮信息,即Skin info。我们知道Mesh是由顶点构成的,建模时顶点是定义在模型自身坐标系的,即相对于Mesh原点的,而骨骼动画中决定模型顶点最终世界坐标的是骨骼,所以要让骨骼决定顶点的世界转载 2017-04-13 14:43:51 · 395 阅读 · 0 评论 -
Depth Bias 以及 Ogre材质中的depth_bias
深度偏移用来解决共面情况下出现闪烁的问题通过给多边形增加一个z方向深度偏移(depth bias,z_bias),使3D空间的共面多边形看起来好像并不共面,以便它们能够被正确渲染。这种技术是很有用的,例如,我们要渲染投射在墙上的阴影,这时候墙和阴影共面,如果没有深度偏移,先渲染墙,再渲染阴影,由于depth test,阴影可能不能正确显示。我们给墙设置一个深度偏移,使它增大,例如z增加0.原创 2015-07-28 15:11:27 · 2292 阅读 · 0 评论 -
Ogre参考手册(二)3.1.1-3.1.2 材质、技术、通道
说明翻译自Ogre 1.81 manual,在不影响理解的情况下做了删减,以减小阅读的时间和翻译的工作量这么做只是去掉了文字上修饰部分,并没有减少任何原文档中的知识点,可以作为对等的参考手册另外对一些不易理解的部分做了修改,或通过“附”做了标注如果你发现了不易理解的部分,可以跟帖回复,我会原文做修改或回复 注:原文编写时间2006年第三季度,已经接转载 2015-07-28 14:38:42 · 1011 阅读 · 0 评论 -
OGRE在渲染通路中使用顶点程序和片断程序
3.1.9 在渲染通路中使用顶点程序和片断程序在材质脚本的pass段中,你可以引用.program脚本中定义的顶点程序和/或片断程序(详见3.1.4 顶点程序与片断程序的声明)。这些程序与使用他们的渲染通路分开定义,是因为他们很可能在多个分开的材质间被重复使用,更可能跨越多个不同的.material材质脚本,所以这种方法可以让你只定义一次而多次使用。如前文所述命名程序一样,你也转载 2015-06-30 14:53:05 · 727 阅读 · 0 评论