【问题标题】:Alpha blending for background背景的 Alpha 混合
【发布时间】:2013-04-28 09:03:51
【问题描述】:

我是 DirectX 的初学者,所以请保持简单。我已加载纹理并将其显示在四边形上,但透明背景仍然显示。我怎么能阻止它?我尝试了几种不同的方法,它们阻止了它的显示,但是我在屏幕上绘制的其他四边形也消失了(它们没有纹理)。

【问题讨论】:

  • 我试图擦亮我的水晶球,但没有用。请提供有关您的问题的一些其他信息,尤其是您假设错误的某些代码(drawcall,顶点设置)。如果透明度不起作用,第一个猜测:您是否将 alphablending 的渲染状态设置为 true?
  • 我可以让 alpha 工作,但所有没有纹理的矩形将不再显示。我想我明白为什么 XNA 现在需​​要纹理来绘制矩形了。也许这是 DirectX 的限制?
  • 没有这样的限制,这完全取决于您的顶点格式和绘图代码。您是否在顶点颜色中设置了 alpha 值?
  • 我发现了问题所在。绘制带纹理的四边形后,我必须将绘图纹理设置为 null。
  • 您能自己回答您的问题并将其标记为已解决吗?

标签: directx textures transparency


【解决方案1】:

我的问题是我在绘制没有纹理的图元之前没有将纹理重置为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-07
    • 2020-07-28
    • 2014-08-14
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多