是否有任何库(.dll)可用于.Net或作为第三方库提供.
哪个提供以下功能?
我们只需在3D空间中添加云或点作为输入点(使用X,Y和Z共同)
它在ViewPort3D中显示3D对象.means从Point Cloud自动生成MESH,并在ViewPort3D中将输出作为3D对象.
注意:考虑对象将是Convex对象.
谢谢..........
我最近一直想知道同样的事情,并得出结论,OpenTK很容易使用.我认为它可以或多或少地直接访问OpenGL API,并且不需要加载依赖项.
这是我自己的问题和答案中的一点点拷贝,这是我在过去几天测试了很多不同库的结果,目的是根据我从我收到的数据制作点云. 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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3816 次 |
| 最近记录: |