void create_model_indices(LaserDataSceneNode node, ushort sides, ushort slices) { // crear los indices MeshBuffer mbuffer = node.get_mesh_buffer(); //uint ind_count =(uint)( (slices - 1) * (sides - 1) * 12); uint ind_count = (uint)((slices - 1) * (sides - 1) * 6); mbuffer.AllocateIndices(ind_count); m_buffer_index = 0; for (ushort i = 0; i < slices - 1; i++) { for (ushort j = 0; j < sides - 1; j++) { //first triangle mbuffer.SetIndex(m_buffer_index, (ushort)((i + 1) * sides + j)); m_buffer_index++; mbuffer.SetIndex(m_buffer_index, (ushort)(i * sides + j)); m_buffer_index++; mbuffer.SetIndex(m_buffer_index, (ushort)((i + 1) * sides + j + 1)); m_buffer_index++; //second triangle mbuffer.SetIndex(m_buffer_index, (ushort)((i + 1) * sides + j + 1)); m_buffer_index++; mbuffer.SetIndex(m_buffer_index, (ushort)(i * sides + j)); m_buffer_index++; mbuffer.SetIndex(m_buffer_index, (ushort)(i * sides + j + 1)); m_buffer_index++; /* * //third triangle * mbuffer.SetIndex(m_buffer_index, (ushort)((i + 1) * sides + j)); * m_buffer_index++; * mbuffer.SetIndex(m_buffer_index, (ushort)(i * sides + j)); * m_buffer_index++; * mbuffer.SetIndex(m_buffer_index, (ushort)((i + 1) * sides + j + 1)); * m_buffer_index++; * * //fourth triangle * mbuffer.SetIndex(m_buffer_index, (ushort)((i + 1) * sides + j + 1)); * m_buffer_index++; * mbuffer.SetIndex(m_buffer_index, (ushort)(i * sides + j)); * m_buffer_index++; * mbuffer.SetIndex(m_buffer_index, (ushort)(i * sides + j + 1)); * m_buffer_index++;*/ } } }