wpf - Microsoft WPF 与 SharpDX WPF 边缘
问题描述
这张图片左边是用 Microsoft wpf 绘制的,右边是用 sharpdx wpf 绘制的。sharpdx 面的边缘不太平滑。 这是我在没有 XAML 的 VB.net 中使用的所有 SharpDX 代码。我想念什么?
Imports System.Windows
Imports System.Windows.Controls
Imports HelixToolkit.Wpf.SharpDX
Imports SharpDX
Module UnitMain
Public MainForm As New Window
Public FormGrid As New Grid
Public GridPort As New Viewport3DX
Public PortCamera As New PerspectiveCamera
Public PortLamp As New DirectionalLight3D
Public PortModel As New MeshGeometryModel3D
Public ModelBuilder As New MeshBuilder
Sub MainFormInit()
ModelBuilder.AddQuad(New Vector3(-0.5, 0.5, 0), New Vector3(-0.5, -0.5, 0), New Vector3(0.5, -0.5, 0), New SharpDX.Vector3(0.5, 0.5, 0))
PortModel.Geometry = ModelBuilder.ToMeshGeometry3D
PortModel.Material = DiffuseMaterials.Yellow
PortLamp.Color = Media.Colors.White
PortLamp.Direction = New Media.Media3D.Vector3D(2, -1, -3)
PortCamera.Position = New Media.Media3D.Point3D(-2, 1, 3)
PortCamera.LookDirection = New Media.Media3D.Vector3D(2, -1, -3)
PortCamera.FieldOfView = 40
GridPort.Items.Add(PortModel)
GridPort.Items.Add(PortLamp)
GridPort.Camera = PortCamera
GridPort.EffectsManager = New DefaultEffectsManager
FormGrid.Children.Add(GridPort)
MainForm.Width = 800
MainForm.Height = 800
MainForm.Content = FormGrid
End Sub
Sub Main()
MainFormInit()
MainForm.ShowDialog()
End Sub
End Module
解决方案
作为一名退休的 VB6 和 VBA 程序员,我尝试切换到 VB.net 并发现了 WPF。我的爱好是避免 XAML 部分。这是可能的,也可以通过使用强大的 Helix Toolkit 扩展解码代码。因此,我遇到了上述混叠问题,感谢 Andrew Morton。添加到上面的代码
GridPort.MSAA = MSAAlevel.Maximum
让我的模型的边缘与我在没有 Helix 工具包的情况下首先绘制的模型一样好。
很棒的论坛!
推荐阅读
- javascript - function.promise.then() 和 function.then() 的区别
- android - 我无法使用 oauth 2.0 与我的服务器使用 android 连接
- typescript - 打字稿中的“鸭子”打字与函数参数
- go - 为什么复制指向 Go 结构的指针不会保持与原始结构的链接?
- python - 如何将项目列表与字典中的键匹配?
- java - 在textview中改造android显示数据
- docker - 如何在 Docker 机密中设置密码?
- javascript - P5 - 使用动画 GIF 固定随机位置
- javascript - Angular 1.6 数据在后续加载时未刷新
- python - 计算文件每一行中的逗号数