http://www.youtube.com/watch?v=gZNdfVwkttM - 如果看不到图片,您可以看到本视频中描述的所有问题。WPF 3D透明纹理 - 剪辑?
下面所有图片中的所有墙都具有半透明的PNG纹理。每个方形墙壁,地板和天花板瓷砖是一个单独的GeometryModel3D(我知道这对性能没有好处,但...)。中央立方体的地板和天花板没有任何几何图形和纹理,因此它们的颜色与Window.Background(黑色)相同。但是,所考虑的效果以透明度的任何方式出现:具有透明度的ImageBrush纹理,Material.Color(例如DiffuseMAterial.Color),其中Color具有Alpha通道,ImageBrush作为材质,其中ImageBrush具有不透明度 - 所有方式我都有相同的问题。
所有的墙都由两个三角形组成。哪里没有明确的法线,因为我定义了三角形指数,所以法线由WPF自动结算。
http://imagepost.ru/images/i/ma/image00001.png
它也没有从背面的任何回料或额外的三角形。
正如你所看到的,如果你只从+ Z到-Z(站在蓝色方块上,看着红色方块 - 这是第二张图片),没有问题。
但是,如果你向后看(从红色到蓝色 - 第一张图片),没有透明度!
嗯,我希望从黄色正方形(第三张照片)看。
然后我走近了 - 你可以看到发生了什么(图片从4到6)。
没有几何构造错误或纹理映射错误或灯光错误!这是一种剪裁,我猜!另外还有一些感兴趣的图片7和8来证明我的猜测。
最后一张图片显示了托管Viewport3D的窗口的白色背景(之前是黑色),并且我对剪裁的猜测得到了证实 - WPF只是没有画出这部分场景,我们可以看到窗口背景!
但是!如果这种情况发生在各种外观之中,为什么从+ Z到-Z(第二张照片)的外观看起来不错?!
另外的图象:http://imagepost.ru/images/i/ma/image00003.png HTTP ://imagepost.ru/images/i/ma/image00004.png http://imagepost.ru/images/i/ma/image00005.png http://imagepost.ru/images/i/ma/image00006 .png http://imagepost.ru/images/i/ma/image00007.png http://imagepost.ru/images/i/ma/image00008.png http://imagepost.ru/images/i /ma/image00009.png – user808128 2012-01-02 12:30:24
我发现这个http://stackoverflow.com/questions/9430 67/wpf-3d-textures-with-alpha-channel/6331933#6331933 Z顺序是这个WPF行为的原因吗?以及如何逃避这个? – user808128 2012-01-02 12:45:36
您好,在获取403访问被拒绝(禁止)的所有图像。另外如果我是你,我会编辑你的答案,以便在管理员投票之前取消发誓 – 2012-01-02 12:54:58