使用纹理中的透明通道(纹理:透明通道可以用Dx的工具创建)

来源:互联网 发布:海尔软件待遇怎么样 编辑:程序博客网 时间:2024/05/17 03:40

需要设置


D3DXCreateTextureFromFile(
Device,
"cratetest.dds",
&Tex);


Device->SetTexture(0, Tex);


Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT);


//设为true时,没有光源的情况下,内容看不到
Device->SetRenderState(D3DRS_LIGHTING, false);

//Alpha来源于纹理
Device->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
Device->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);


//设定融合因子,采用默认值
Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);



Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
//绘制内容 绘制前要开启融合运算
Device->SetRenderState(D3DRS_ALPHABLENDENABLE, false);

0 0
原创粉丝点击