背景Alpha混合
问题描述:
我是DirectX的初学者,所以请保持简单。我已经加载了纹理并将其显示在四边形上,但透明背景仍然显示。我怎么能阻止呢?我尝试了几种不同的方式,并且他们阻止了它的显示,但我画到屏幕上的其他四边形也消失了(它们没有纹理)。背景Alpha混合
答
我的问题是,在绘制没有纹理的图元之前,我没有将纹理重置为null。
我试图抛光我的水晶球,但它没有帮助。请提供一些关于您的问题的额外信息,特别是一些代码片段,您假设您的错误(drawcall,顶点设置)。第一个猜测,如果透明度不工作:你是否设置渲染为alphablending为true? – Gnietschow 2013-05-03 21:35:20
我可以让Alpha工作,但没有纹理的所有矩形将不再显示。我想我明白为什么XNA需要纹理来绘制矩形。也许这是DirectX的局限性? – Emrys90 2013-05-03 21:38:07
没有这样的限制,它取决于你的顶点格式和绘图代码。你在你的vertexcolor中设置了alpha值吗? – Gnietschow 2013-05-03 22:25:01