.Net 中是否有可用的库(.dll) 或第三方库。
哪些提供以下功能?
我们只需添加作为输入的点云或3D空间中的点(使用X、Y和< strong>Z 协调)
并且它在ViewPort3D 中显示3D 对象。意味着从点云自动生成 MESH,并在 ViewPort3D 中为我们提供作为 3D 对象 的输出。
注意:考虑对象是凸对象。
谢谢…………
最佳答案
我最近一直在想同样的事情并得出结论 OpenTK很容易使用。我认为它或多或少地提供了对 OpenGL API 的直接访问,并且不需要大量的依赖项。
这是从 my own question and answer 复制粘贴而来的,这是我在过去几天测试了很多不同的库的结果,目的是根据我从 Kinect 收到的数据制作点云。
它不向 ViewPort3D 提供输出,但根据我的测试,它比使用 WPF 快得多。我无法以可接受的速度在 WPF 中显示(并不断更新)640x480 点云。
比较容易理解。它只需要很少(且易于理解)的代码行即可开始。它不为我保留对象,因此我可以在每次传递时自由更改任何内容,这很棒,因为我主要使用指向内存的不安全指针。
当然很难将速度与易用性结合起来。速度需要直接与 3D API 对话,而易用性则需要抽象。因此,这必须被视为比我尝试过的其他一些 API 级别更低的 API。如果我想做一些预制角色动画,那么 XNA 可能是更好的选择,但对于点云来说,到目前为止这似乎非常有前途(4-5 小时的黑客攻击)。
一些示例代码:
private void Render()
{
// Every frame
GL.Begin(BeginMode.Points);
GL.MatrixMode(MatrixMode.Modelview);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
GL.LoadMatrix(ref cameraMatrix);
GL.Begin(BeginMode.Points);
// Here I can add lots of points. I add 200k without any big problem.
// It seems these points could have been passed in as an array pointer too,
// but I'll look at that later.
GL.Vertex3(x2, y2, z2);
GL.End();
glControl.SwapBuffers();
}
关于c# - .Net 中的网格生成库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4896710/