透明GeometryModel3D

时间:2012-06-12 09:55:55

标签: c# wpf 3d

我需要创建一个透明的GeometryModel3D 像这样:
Like this:


我试过这段代码:

var m = new Model3DGroup();
var panelsGeometry = MyMeshGeometry3D;
        Brush br = new SolidColorBrush(Colors.Red);
        br.Opacity = 0.5;
        m.Children.Add(new GeometryModel3D(panelsGeometry, new DiffuseMaterial(br)) { BackMaterial= new DiffuseMaterial(br) });


但结果我得到了这个:
enter image description here


我究竟做错了什么?感谢。

3 个答案:

答案 0 :(得分:0)

您可以使用带有ImageBrush的透明图片,一个像素就足够了,但您需要在网格对象上设置TextureCoordinates

答案 1 :(得分:0)

你需要使用TextureCoordinates,你必须订购从后到前绘制的边,以便它们正确混合。 WPF没有这样做。

请参阅this article

答案 2 :(得分:0)

确保您的盒子网格几何包含24个点。如果您的方框包含最小点数(8),则不会渲染后方面。

例如,请参阅here

您可以下载Normals3D.zip并更改完整网格框的画笔不透明度以获得所需的效果。