读书人

使用PNG图片如何让D3D处理他的透明度

发布时间: 2012-03-09 16:54:56 作者: rapoo

使用PNG图片,怎么让D3D处理他的透明度信息?
一般情况下,如果什么都不处理,那么png这个透明度将无法发挥作用,程序会当白色处理。

如果不用关键色,也不修改顶点颜色,那要怎么处理,才能使程序正确处理透明度???

[解决办法]
常用的一种设置是这样的

HLSL:
AlphaBlendEnable = true;
SrcBlend=SrcAlpha;
DestBlend=InvSrcAlpha;

固定流水线:
device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

读书人网 >网络游戏

热点推荐