|
|

楼主 |
发表于 2005-9-23 15:35:00
|
显示全部楼层
Re:请教:关于Terrain multitexturing and alpha masks
//!设置渲染状态
g3D->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
g3D->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
g3D->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
//!设置多层纹理状态
g3D->setTextureState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
g3D->setTextureState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
g3D->setTextureState(1, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
g3D->setTextureState(1, D3DTSS_COLORARG1, D3DTA_CURRENT);
g3D->setTextureState(1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
g3D->setTextureState(1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
g3D->setTextureState(2, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
g3D->setTextureState(2, D3DTSS_ALPHAARG1, D3DTA_CURRENT);
g3D->setTextureState(2, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
g3D->setTextureState(2, D3DTSS_COLORARG1, D3DTA_TEXTURE);
//!设置纹理坐标对应的索引。
g3D->setTextureState(1, D3DTSS_TEXCOORDINDEX, 0);
g3D->setTextureState(2, D3DTSS_TEXCOORDINDEX, 0);
应该没问题。我用2层是好使得。3层就不行了
|
|