Hello,
First of all a happy new year !!
I'm creating a simple mesh class and I stumbled upon the following :
Initialization of Mesh :
m_Vertices.push_back(cVector(-1.0f,-1.0f,1.0f));
m_Vertices.push_back(cVector(-1.0f,1.0f,1.0f));
m_Vertices.push_back(cVector(1.0f,1.0f,1.0f));
m_Vertices.push_back(cVector(1.0f,-1.0f,1.0f));
m_Vertices.push_back(cVector(-1.0f,-1.0f,-1.0f));
m_Vertices.push_back(cVector(-1.0f,1.0f,-1.0f));
m_Vertices.push_back(cVector(1.0f,1.0f,-1.0f));
m_Vertices.push_back(cVector(1.0f,-1.0f,-1.0f));
m_Triangles.push_back(cTriangle(0,1,2));
m_Triangles.push_back(cTriangle(2,3,0));
m_Triangles.push_back(cTriangle(4,5,6));
m_Triangles.push_back(cTriangle(6,7,4));
m_Mesh.push_back(0);
m_Mesh.push_back(1);
m_Mesh.push_back(2);
m_Mesh.push_back(2);
m_Mesh.push_back(3);
m_Mesh.push_back(0);
m_Mesh.push_back(4);
m_Mesh.push_back(5);
m_Mesh.push_back(6);
m_Mesh.push_back(6);
m_Mesh.push_back(7);
m_Mesh.push_back(4);
glVertexPointer(3,GL_FLOAT,0,&m_Vertices[0]);
Rendering :
glColor3f(1.0,0.0,0.0); //Red
glDrawElements(GL_TRIANGLES,m_Triangles.size()*3,GL_UNSIGNED_INT,&m_Triangles[0]);
glColor3f(0.0,1.0,0.0); //Green
glDrawElements(GL_TRIANGLES,m_Mesh.size(), GL_UNSIGNED_INT,&m_Mesh[0]);
Now the red mesh is drawn incorrectly, while the green one is correct. Does anyone have an idea why this is ?
kind regards
UncleRemus