topameng's profileQuake3 启示录PhotosBlogListsMore Tools Help

Blog


    February 07

    Gamebryo限制4层材质

    由于地形贴图尺寸很大,所以无法使用全局贴图。而是把多层Tiling 的纹理使用alpha通道互相融合起来。诸如WOW[1],天堂2 等大型室外地形渲染多采用此技术。此技术在每一层Tiling 贴图依然用到了一张全局alpha 贴图。以及一张全地形唯一的静态光影贴图。在multitexture 中根据显卡的multitexture 处理单元数量,进行multi-pass 和multitexture 的混合渲染。
    比如,混合绿草,土路,野花的一块室外地形,需要至少3 层地表贴图。分别是一块256x256 的草贴图,128x128 的土路贴图,和128x128 的野花贴图。每层纹理使用Tiling 模式进行绘制,在绘制的同时,每层纹理带有一张ALPHA 灰度图(第一层不用)。用来表明本层纹理在融合中所占的比重。把3 张地表贴图,2 张ALPHA 贴图,以及一张LIGHTMAP贴图混合起来,就有如下地表效果。可以看出土路和草地之间的均匀过渡。

    如果进行优化,4 层ALPHA 可以混合称为一张贴图。Lightmap 一张。那么也至少需要2 张全局贴图进行地表绘制。

    --------------------------------------------------------------------------------------------------------------------------------------------摘自 ID TECH 5

    所以限制4层纹理一般是因为对于一个纹元RGBA,RGB 能代表3 个alpha。而alpha 通道代表阴影。再加上第一层的基础纹理不需要alpha值
    alpha值放入到一张纹理图中,不会因为LOD,而降低混合效果这也是一些引擎限制4层材质的原因。wow 也是4层材质的