首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用HelixToolkit.Wpf.SharpDX建立三维模型?

如何使用HelixToolkit.Wpf.SharpDX建立三维模型?
EN

Stack Overflow用户
提问于 2021-01-17 22:01:33
回答 1查看 1.5K关注 0票数 0

我尝试使用HelixToolkit.Wpf.SharpDX在WPF中呈现3d模型。

我的模型是静态的,由一个顶点缓冲区和一组三角形组成。每个三角形都有一个分配给它的材料,每个三角形点都有一个UV坐标和一个法线。

我如何建立模式来实现:

  • 不要用相同的材料复制每组三角形的索引缓冲区。
  • 通过鼠标单击,可以选择整个模型。
  • 使用Helix的PhongMaterial
  • 使设置MVVM兼容
  • 良好的渲染性能

我查看了Helix存储库中的所有示例,但我对所有的MeshGeometry3D、MeshGeometryModel3D、Model3DCollection、Model3DGroup、Visual3D和UIElement3D类都感到困惑,其中一些类似乎只存在于WPF或Helix中,但有些类存在于两个命名空间中,但行为不同。

我试图为每个模型创建一个带有Model3DGroup的Model3DGroup,然后在Model3DGroup中添加一个具有PhongMaterial的GeometryModel3D和一个对每种材料都有三角形的MeshGeometry3D。

对于如何处理每个MeshGeometry3D必须定义的顶点缓冲区,我特别不确定。这是否意味着在渲染时会被复制?对于每一组三角形,我是否需要将所有顶点分割成具有相同材质的顶点缓冲器,还是只为每个三角形组分配相同的顶点缓冲区?

我熟悉OpenGL和DirectX,但我对WPF和Helix很陌生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-18 04:05:54

螺旋工具包不直接使用顶点缓冲区。您需要将顶点和三角形索引数据转换为螺旋工具包MeshGeometry3D,并将material和MeshGeometry3D传递给MeshGeometryModel3D。

此外,您似乎对HelixToolkit.wpf和HelixToolkit.wpf.sharpdx感到困惑。这是两个独立的库。

Model3DCollection、Model3DGroup、Visual3D和UIElement3D只能在Helixtoolk.wpf中使用,而不能在Helixtoolkit.wpf.sharpdx中使用。

有关更多信息,请参考wiki页面和示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65766435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档