I've a set of voxel data and I want to create a mesh out of it at run-time.
I've looked into MeshBuilder and MeshHelper but I haven't found anything useful or a good tutorial how to use them. Can anyone tell me how to create a mesh at run-time?
I think this should answer your question: http://forums.create.msdn.com/forums/p/4751/24616.aspx
Basically you should just create a vertex and index buffer yourself (you can wrap them up in a nice class that implements IDrawable ofc).
Once you have a vertex and index buffer you can draw your model like in this MSDN article:
VertexBuffer vertexBuffer = new VertexBuffer(GraphicsDevice, typeof(VertexPositionColor), 8, BufferUsage.None); vertexBuffer.SetData<VertexPositionColor>(primitiveList); IndexBuffer lineListIndexBuffer = new IndexBuffer( GraphicsDevice, IndexElementSize.SixteenBits, sizeof(short) * lineListIndices.Length, BufferUsage.None); lineListIndexBuffer.SetData<short>(lineListIndices); GraphicsDevice.Indices = lineListIndexBuffer; GraphicsDevice.SetVertexBuffer(vertexBuffer); GraphicsDevice.DrawIndexedPrimitives(PrimitiveType.LineList, 0, 0, 8, 0, 7); I have been working on 2D game 2y ago and had to draw shapes like thet. You could look what I have done Project - Squared.
Take a look at GraphicsDrawer class under SquaredEngine.Graphics, it will allow you to draw some basic meshes, triangles, lines, quads, ellipses, etc.
You could easily make this to work in 3D env.