1

我开始尝试使用 WPF 3D 渲染,我面临的第一个问题是如何禁用面部剔除。我知道如何在 DirectX 和 OpenGL 中做到这一点,但我找不到在 WPF 中做到这一点的方法。这是我的 ViewPort 标记。该模型是在运行时生成的,它是 GeometryModel3D 中的 MeshGeometry3D

  <Viewport3D x:Name="viewport"  DockPanel.Dock="Right" Margin="0" >
                <Viewport3D.Camera>
                    <PerspectiveCamera x:Name="camera" FarPlaneDistance="50" LookDirection="0,0,-10"
     UpDirection="0,1,0" NearPlaneDistance="0" Position="0,0,5"
     FieldOfView="45" />
                </Viewport3D.Camera>

                <ModelVisual3D x:Name="model">
                    <ModelVisual3D.Content>
                        <Model3DGroup x:Name="group">
                            <AmbientLight Color="DarkGray" />
                            <DirectionalLight Color="White" Direction="-5,-5,-7" />
                        </Model3DGroup>
                    </ModelVisual3D.Content>
                </ModelVisual3D>
            </Viewport3D>

非常感谢你能给我的任何建议。

4

1 回答 1

6

据我所知,它不能,但你也可以给背面一种材料。

            DiffuseMaterial material = new DiffuseMaterial(new SolidColorBrush(Colors.Blue));
            GeometryModel3D geometryModel = new GeometryModel3D(geometry, material);
            geometryModel.BackMaterial = material;

问候,杰伦

于 2011-03-08T14:43:45.470 回答