Ogre中资源有以下几种:Texture、Compositor、Font、GpuProgram、Material、Mesh、Skeleton、BspLevel
本文聚焦于材质资源Material。DirectX、Opengl中的材质含义为物体的光学属性,如高光和漫反射光的颜色等。但在Ogre中,材质类所包含的概念更大,涵盖了纹理等设置的信息。从某种意思上来说,Ogre中的Material更接近于Shader 的概念。
Ogre中的材质资源相关头文件如下:
OgreMaterial.h
OgreMaterialManager.h
OgrePass.h
OgreTechnique.h
Material、Technique和Pass的UML关系图如下
从图中可以看出,Ogre中的材质是按三个层次来管理的。
最底层的是Pass(通路),Pass是Ogre最基本的绘制单元。
管理Pass的是Technique(技术),Technique是一组用来绘制一个特定材质的方法。
管理Technique的就是Material了,Material封装了对于一个物体而言的所有可视效果。
下面就逐一来解读下Ogre的材质结构。
(1)Pass
在Ogre中,Pass是最基本的绘制单元,同时也是Renderable(可绘制对