【发布时间】:2013-04-28 09:03:51
【问题描述】:
我是 DirectX 的初学者,所以请保持简单。我已加载纹理并将其显示在四边形上,但透明背景仍然显示。我怎么能阻止它?我尝试了几种不同的方法,它们阻止了它的显示,但是我在屏幕上绘制的其他四边形也消失了(它们没有纹理)。
【问题讨论】:
-
我试图擦亮我的水晶球,但没有用。请提供有关您的问题的一些其他信息,尤其是您假设错误的某些代码(drawcall,顶点设置)。如果透明度不起作用,第一个猜测:您是否将 alphablending 的渲染状态设置为 true?
-
我可以让 alpha 工作,但所有没有纹理的矩形将不再显示。我想我明白为什么 XNA 现在需要纹理来绘制矩形了。也许这是 DirectX 的限制?
-
没有这样的限制,这完全取决于您的顶点格式和绘图代码。您是否在顶点颜色中设置了 alpha 值?
-
我发现了问题所在。绘制带纹理的四边形后,我必须将绘图纹理设置为 null。
-
您能自己回答您的问题并将其标记为已解决吗?
标签: directx textures transparency