随笔分类 - ogre3d
摘要:ogre的使用方法1---自动设置1、ogre初始化:首先实例化一个Root对象1 Root * root = new Root();2 Root * root = new Root("plugins.cfg"); 3 Root * root = new Root("plugins.cfg", "ogre.cfg");4 Root * root = new Root("plugins.cfg", "ogre.cfg", "ogre.log");//系统默认这样,当你没有填写参
阅读全文
摘要:五、阴影 阴影是渲染一个真实场景的重要组成部分,它可以给场景中的物体提供更加真实的感觉,同时还可以帮助用户更好的了解对象间的空间关系。 启用阴影: 缺省情况下,阴影是关闭的,开启方式如下: 1、建立场景时就设置阴影技术有效 --mSceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE); 2、创建一个或者多个光源 3、关闭那些不需要投射阴影的物体,可以用物体的aetCastShadows(false)来实现。 4、设置投影的最远距离,通过SceneManager::setShadowFarDistance来限制投影的最远距...
阅读全文
摘要:三、网格工具(Mesh) 1、导出器(Exporters)---用于从模型生成器中得到数据并且导入到OGRE中去。 导出器是指通过3D模型工具的插件写成网格数据和骨骼动画的文件格式可以在OGRE中被实时渲染(这句话读着太吃力了)。这些文件被导出器以.mesh和.skeleton形式生成。 2、XML转换器(XmlConverter)---用于从XML转换网格数据和骨骼数据 。 格式:OgreXMLConverter sourcefile [destfile] 3、网格数据更新器(MeshUpgrader)---用于从OGRE其中之一的版本更新二进制网格数据到其他的版本中。 格式:O...
阅读全文
摘要:9、粒子脚本 粒子脚本允许你实例化地在你的脚本代码中定义粒子系统,而不必在源代码中进行设置,使得你做任何修改都能得到快速回应。脚本里定义的粒子系统被用作模板,并且多个实际的系统可以在运行时从这里被创建。 粒子系统属性: quota ---设置这个系统在某一时刻所允许包含的最多粒子数。 格式: quota material ----设置这个系统中的全体粒子将要使用的材质的名字。 格式: material particle_width ---在世界坐标中,设置粒子的宽度。 格式: particle_width particle_height ---在世界坐标中...
阅读全文
摘要:三、顶点程序与片断程序 顶点或者片断程序定义可以被多个材质使用,唯一的前提条件是必须在引用它之前在材质的渲染通路部分中定义。 一个低级顶点程序示例如下:1 vertex_program myVertexProgram asm2 {3 source myVertexProgram.asm //资源4 syntax vs_1_1 //语法规则5 } 定义一个片断程序,与此相同,只是将vertex_program换成fragment_program。 默认的程序参数 ---定义默认参数可以避免重复绑定公用的参数vertex_program Og...
阅读全文
摘要:一、核心对象介绍1、命名空间 Ogre3d使用了C++的特性--命名空间,可以防止命名混淆。使用方法也简单,using namespace Ogre;或者直接在使用时加上“Ogre::”的前缀,如Ogre::Vector3等。2、Root对象 ---根对象 根(Root)对象是OGRE系统的入口,该对象在程序一开始时创建,最后结束时销毁。可用来配置系统,还可以获得系统中其他对象的指针,比如场景管理器(SceneManager),绘制系统(RenderSystem),资源管理器(Resource Managers)等。3、RenderSystem 对象----渲染系统对象 渲染系统对象实际...
阅读全文