Library for mesh generation in .Net?

Is there a library (.dll) in .Net or is it available as a third-party library.

What are the following features?

We add only as a cloud of points or Points in 3D space (with X , Y and Z Co-Ordinate)

And it displays a 3D object in ViewPort3D . The tool automatically generates MESH from Point Cloud and gives us the result as a 3D object in ViewPort3D .

Note. . Consider an object that is convex.

Thanks..........

+6
c # wpf
source share
1 answer

I recently wondered the same thing and came to the conclusion that OpenTK is easy to use for this. I think it gives more or less direct access to the OpenGL API and does not require dependency loads.

This is a small copy from my own question and answer , which is the result of the fact that I checked many different libraries over the past few years to create a point cloud based on the data that I get from my Kinect.

It does not provide output for ViewPort3D, but from my tests it was faster than using WPF. I was unable to display (and update) a 640x480 point cloud in WPF at an acceptable speed.

Relatively easy to understand. First, you need a few (and understandable) lines of code. It does not support objects for me, so I can change nothing for each pass, which is fine, because I mainly work with unsafe pointers to memory.

Of course, it is difficult to combine speed and ease of use. Speed ​​requires talking directly to the 3D API, and ease of use requires abstraction. Therefore, it should be considered as a lower level API than some of the others that I have tried. If I wanted to do some prefab character animation, then XNA would probably be the best choice, but for point clouds this seems very promising so far (4-5 hours of hacking).

Code example:

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
source share

All Articles