材质与材质脚本

材质与材质脚本

基本概念

Ogre的材质(Material)

    为了优化渲染,必须把渲染状态的变化减小到最小。而最频繁的渲染状态改变是材料的变化(大多是纹理的变化)。
    Ogre的Material类封装了物体的所有材料属性,类似于3D Studio中material的概念。平时不被认为是属于材料的属性,想culling模式和深度缓存设置等,也被material包含进来了。因为这些属性同样影响了物体的外观,把他们放到material类里可以集中设置所有影响物体的属性。这和D3D中只保存颜色组件而没有纹理映射的Material有明显不同。Ogre的Material可以被认为是‘Shader’的等同物。
    Material类包括如下几类属性:
    ①基本的表面材质属性,如多不同颜色的反射率、Shininess等等;
    ②组成Material的纹理层;
    ③纹理之间的混合(Blend)方式;
    ④深度缓冲设置;
    ⑤Culling模式;
    ⑥纹理过滤方式(三线性过滤、双线性过滤);
    ⑦是否受光照影响;
    ⑧Shading选项;
    ⑨雾化。
    其中第二条的纹理层可以有多个,Ogre在Material类的内部定义了TextureLayer类。

纹理层(TextureLayer)

    一个纹理层可以是一幅静止的图像,也可以是一幅以某种方式运动的图像,还可以是由多幅图像组成的动画。它可以实现多种文理特效,如BUMPMAP、环境贴图、运动的纹理。

材质管理器(MaterialManager)

    MaterialManager类负责管理Material库。和材质现相关的类图如下:
    
    MaterialManager还负责分析Material脚本(Material Script),从而初始化Material的属性。下面我们来分析一下Ogre提供的材质脚本语言。


Ogre的材质脚本

    Ogre提供的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值