public void RenderVoxel(Vector3 v)
{
float r = 0.5f;
float left = v.X - r;
float right = v.X + r;
float fbase = v.Y - r;
float top = v.Y + r;
float front = v.Z - r;
float back = v.Z + r;
// Base
GL.Vertex3(left, fbase, front);
GL.Vertex3(right, fbase, front);
GL.Vertex3(right, fbase, back);
GL.Vertex3(left, fbase, back);
// Back
GL.Vertex3(left, fbase, back);
GL.Vertex3(right, fbase, back);
GL.Vertex3(right, top, back);
GL.Vertex3(left, top, back);
// Top
GL.Vertex3(left, top, front);
GL.Vertex3(right, top, front);
GL.Vertex3(right, top, back);
GL.Vertex3(left, top, back);
// Right
GL.Vertex3(right, fbase, front);
GL.Vertex3(right, fbase, back);
GL.Vertex3(right, top, back);
GL.Vertex3(right, top, front);
// Front
GL.Vertex3(left, fbase, front);
GL.Vertex3(right, fbase, front);
GL.Vertex3(right, top, front);
GL.Vertex3(left, top, front);
// Left
GL.Vertex3(left, fbase, front);
GL.Vertex3(left, fbase, back);
GL.Vertex3(left, top, back);
GL.Vertex3(left, top, front);
}