我正在尝试使用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>
非常感谢您给我的任何建议。
答案 0 :(得分:5)
据我所知它不能,但你也可以给背面提供一种材料。
DiffuseMaterial material = new DiffuseMaterial(new SolidColorBrush(Colors.Blue));
GeometryModel3D geometryModel = new GeometryModel3D(geometry, material);
geometryModel.BackMaterial = material;
问候,Jeroen