Ogre Terrain LayerTexture 的混合方式

Ogre Terrain LayerTexture 的混合方式
if  ( ! layer)
        
{
            outStream 
<< "    diffuse = diffuseSpecTex0.rgb;\n";
            
if (prof->isLayerSpecularMappingEnabled())
                outStream 
<< "    specular = diffuseSpecTex0.a;\n";
        }

        
else
        
{
            outStream 
<< "    diffuse = lerp(diffuse, diffuseSpecTex" << layer 
                
<< ".rgb, " << blendWeightStr << ");\n";
            
if (prof->isLayerSpecularMappingEnabled())
                outStream 
<< "    specular = lerp(specular, diffuseSpecTex" << layer 
                    
<< ".a, " << blendWeightStr << ");\n";

        }

可以看出 第一张地形纹理默认是显示出来的纹理 如果后面还有其他层纹理 则和其进行lerp

你可能感兴趣的:(Ogre Terrain LayerTexture 的混合方式)