如何在顶视图中设置透明以在Microsoft.DirectX中查看下面的表面?

时间:2013-09-05 02:07:12

标签: c# directx transparent direct3d directx-9

我通过设置device.RenderState.AlphaBlendEnable = true

来渲染3D数据

它给出了如下的侧视图: Pic1 shows side view @ solid filled mode

Pic2 shows side view @ wired frame mode

现在我的顶视图看起来像这样,外表面层覆盖了下面的图层,结果只有外层显示在顶视图。

Pic3 shows top view @ solid filled mode

我想从顶视图查看底层图层。我该怎么做呢?是否可以在Microsoft.DirectX中进行任何设置?

更新:问题由我自己解决

device.RenderState.ZBufferWriteEnable = false;

2 个答案:

答案 0 :(得分:1)

device.RenderState.ZBufferWriteEnable = false;

答案 1 :(得分:0)

没有允许这样做的设置。理想情况下,您需要对所有图层进行排序,以便将它们拉回到前面。

如果不能使用类似于依赖顺序的“添加剂”混合物。

最后,有一个名为depth peeling的方法允许您执行与顺序无关的透明度。