首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.Net中的网格生成库?

.Net中的网格生成库?
EN

Stack Overflow用户
提问于 2011-02-04 10:02:51
回答 1查看 4.1K关注 0票数 6

是否有任何库(.dll)可在.Net中使用或可作为第三方库使用。

哪些功能提供了以下功能?

我们只是在3D空间中添加作为输入点的点(与X、Y和ZE 213协同)

并将三维对象显示在ViewPort3D中。这意味着从点云自动生成网格,并将输出作为3D对象在ViewPort3D中提供。

注意:认为对象将是凸对象。

谢谢..。

EN

回答 1

Stack Overflow用户

发布于 2011-02-04 10:08:49

最近,我一直在想同样的事情,并得出结论,OpenTK是很容易使用的。我认为它或多或少提供了对OpenGL API的直接访问,并且不需要大量依赖项。

这是来自我自己的问题和答案的一些复制‘n’粘贴,这是我在过去几天测试了许多不同的库的结果,目的是根据我从Kinect收到的数据创建一个点云。

它没有向ViewPort3D提供输出,但从我的测试来看,它比使用WPF要快得多。我无法以可接受的速度在WPF中显示(并不断更新) 640x480点云。

这是比较容易理解的。它需要很少(也是可以理解的)代码行才能开始。它不为我保存对象,所以我可以在每次传递时更改任何内容,这很好,因为我主要使用的是指向内存的不安全指针。

当然,将速度和易用性结合起来是很困难的。速度要求直接与3D API对话,而易用性则要求抽象。因此,与我尝试过的其他API相比,这必须被认为是一个较低级别的API。如果我想做一些预制片角色动画,那么XNA可能是一个更好的选择,但对于点云,这似乎非常有希望到目前为止(4-5个小时的黑客)。

一些示例代码:

代码语言:javascript
复制
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();
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4896710

复制
相关文章

相似问题

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