1
\$\begingroup\$

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?

\$\endgroup\$
6
\$\begingroup\$

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);
| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

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.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.