管理DirectX9 ColorKey

时间:2009-06-29 23:44:35

标签: c# directx

我已设法使用TextureLoader.LoadFromFile()加载纹理,并为其提供Color.Black.ToArgb()颜色键。

不幸的是,当我使用Device.DrawUserPrimitives渲染它时,我仍然看到黑色。

我是否遗漏了一些代码才能启用ColorKey?


需要在设备上设置一些renderstate:

Device.RenderState.AlphaBlendEnable = true;
Device.RenderState.SourceBlend = Blend.SourceAlpha;
Device.RenderState.DestinationBlend = Blend.InvSourceAlpha;

2 个答案:

答案 0 :(得分:1)

我不确定哪个,但我认为你需要启用渲染状态AlphaBlendEnable和/或AlphaTestEnable。您可能还需要设置混合模式。

答案 1 :(得分:1)

顺便说一句,您使用的Managed DirectX早已停止使用。您应该考虑切换到XNASlimDX