一、材质资源
//取得该脚本材质对象
Ogre::MaterialPtr mMaterial = MaterialManager::getSingleton().getByName("Examples/Mark");
//根据texture索引以及pass索引删除纹理。并添加我们指定的新纹理图片
mMaterial->getTechnique(0)->getPass(0)->removeTextureUnitState(0);
mMaterial->getTechnique(0)->getPass(0)->createTextureUnitState("spheremap.png");
//根据取得的材质对象,然后分别设置环境光、漫反射光;其实就是通道pass类中的成员函数
mMaterial->getTechnique(0)->getPass(0)->setAmbient(1.0, 0.0, 0.0);
mMaterial->getTechnique(0)->getPass(0)->setDiffuse(1.0, 0.0, 0.0, 1.0);
二、纹理对象
Ogre::TextureUnitState *texture;
//通过各个索引取得最后的纹理,得到该纹理对象可以通过名称,也可以通过索引值。
texture = mMaterial->getTechnique(0)->getPass(0)->getTextureUnitState(0);
//将纹理进行旋转
texture->setTextureRotate(Ogre::Degree(30));
其实,除了可以将纹理进行旋转,我们还可以对其进行放缩、横向滚动。而且u,v轴可以同时设置也可以分开设置。下面给出了其成员函数。另外还可以设置纹理边缘颜色
TextureUnitState setTextureScale(Real uScale, Real vScale);
TextureUnitState setTextureScale(Real uScale /或者 vScale);
TextureUnitState setTextureScroll(Real u, Real v);
TextureUnitState setTextureScroll(Real u /或者Real v);
TextureUnitState setTextureBorderColour(const ColourValue& colour);
相关推荐
在OpenSceneGraph (osg) 中,动态纹理是一种高级特性,它允许我们在运行时改变纹理的内容,从而实现诸如动画、视频播放或实时数据可视化等效果。本DEMO将演示如何利用osg库中的ImageSequence类来创建动态纹理。接...
凹凸纹理映射是一种纹理混合方法,它可以创建三维物体复杂的纹理外观表面。普通的纹理映射只能模拟比较平滑的三维物体表面,难以显示表面高低起伏、凹凸不平的效果。凹凸纹理映射能够通过一张表示物体表面凹凸程度的...
3D游戏图形高级纹理映射及ogre材质和纹理映射.ppt
而OgreMaterialEditor则是Ogre 3D引擎生态系统的一部分,专门用于处理材质(Material)——定义表面如何被光照、纹理映射等影响的参数集合。 在OgreMaterialEditor中,用户可以: 1. 创建材质:通过选择不同的着色...
2. **基本概念**:介绍3D图形的基本概念,如顶点、多边形、纹理坐标、法线等,以及Ogre3D中的核心组件,如场景管理、相机、光照、材质等。 3. **场景管理**:Ogre3D使用场景节点和层次结构来组织3D对象,教程会解释...
3. **LOD(Level of Detail)**:为了处理大场景中的大量多边形,OGRE支持LOD技术,即根据模型距离摄像机的远近动态调整其细节水平。这可以显著提高渲染效率。 4. **光照与材质**:3D MESH模型的外观取决于其材质和...
### OGRE教程知识点详解 #### 一、OGRE概述 **OGRE**(Object-Oriented Graphics Rendering Engine)是一款开源的3D图形渲染引擎,专为游戏开发者和其他需要高性能图形渲染的应用设计。它提供了丰富的功能集,使...
6. **纹理(Texture)**:在Ogre中,纹理是用于表面贴图的主要元素,可以是颜色、法线、位移、镜面反射等信息的载体。材质脚本可以定义多个纹理单元(Texture Unit),并控制它们在渲染过程中的应用方式。 7. **...
这涉及到设置项目工程、理解Ogre的架构和加载必要的资源,如模型、纹理和材质。 接着,你会学习到Ogre 3D中的场景管理,包括如何组织场景中的对象,使用SceneNode和Entity来创建复杂的3D结构。此外,还会讲解相机...
《OGRE 3D 实现的实时渲染到纹理(RTT)技术详解》 OGRE,全称为“Object-Oriented Graphics Rendering Engine”,是一个开源的3D渲染引擎,以其强大的功能和灵活的设计受到广大游戏开发者和图形编程爱好者的喜爱。...
2. **文件系统**:Ogre引擎支持多种资源加载,如模型、纹理、材质和脚本等。它使用一种抽象的文件系统接口,可以方便地处理不同平台上的文件路径。此外,Ogre还引入了资源管理器,负责资源的加载、缓存和释放,以...
Ogre提供了一套完善的资源管理系统,允许开发者通过URL式的路径来引用这些资源,同时支持动态加载和缓存,以优化性能。此外,Ogre还支持自定义的资源库,方便组织和管理项目中的各种资源。 接下来,我们探讨Ogre的...
6. **纹理与材质**:理解OGRE的纹理坐标、纹理过滤和混合模式,以及如何创建复杂的材质效果。 7. **动画系统**:探索骨骼动画、蒙皮网格和关键帧动画,以及如何将动画应用到3D角色。 8. **视图与相机**:控制相机...
5. **动画系统**:Ogre 包含骨骼动画、形状变形等动画机制,适合游戏中的角色和其他动态物体。通过示例,你可以了解到如何实现角色动画和物体运动。 6. **输入处理**:示例会展示如何集成键盘、鼠标或游戏控制器的...
OGRE 是一个强大的开源3D渲染引擎,广泛用于游戏开发和其他需要实时三维图形的应用。本文主要探讨了OGRE的入门知识,包括配置、资源管理和CG程序的使用。 首先,配置OGRE时,工作路径的选择至关重要。为了在Debug...
8. **动画系统**:OGRE支持骨骼动画和顶点动画,用于角色和其他动态对象的运动。Skeleton类存储了骨骼结构,Animation类定义了时间线上的关键帧。 9. **粒子系统**:ParticleSystem类用于创建各种特效,如火焰、...
材质系统是OGRE的一大亮点,它允许开发者定义复杂的材质效果,包括颜色、纹理、光照、反射和透明度等。材质脚本语言提供了丰富的选项,可以创建出逼真的3D视觉效果。同时,OGRE的材质系统支持硬件加速,充分利用GPU...
2. **工厂模式**:OGRE通过工厂模式创建复杂的3D对象,如渲染精灵、粒子系统、纹理等。这允许在运行时动态地选择具体实现,增加了代码的可扩展性和可维护性。 3. **观察者模式**:在OGRE中,事件处理机制广泛使用了...
这可能包括初始化OGRE渲染窗口,设置渲染场景,加载纹理和模型,以及处理用户输入等操作。开发者可以在该文件中添加或修改代码来扩展基本功能。 3. **TutorialApplication.h**: 这是针对OGRE教程应用的特定头文件,...