.Net 中是否有可用的库(.dll)或作为第三方库提供。
哪些提供以下功能?
我们只需在3D空间中添加点云或点作为输入(包括 X , Y 和 Z 共同组织)
并在 ViewPort3D 中显示 3D对象。意味着会自动从Point Cloud生成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/