This code works properly
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture);
glBegin(GL_TRIANGLES);
for(int i=0; i<header.num_tris*3;i++)
{
glTexCoord2f(stCoor[i*2], stCoor[i*2+1]);
glVertex3f( vertexList[m_indices[i]][0], vertexList[m_indices[i]][1], vertexList[m_indices[i]][2] );
}
glEnd();
Result:
but when I try to use this.
glBindBufferARB( GL_ARRAY_BUFFER_ARB, vertextSize );
glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertexList), vertexList, GL_STATIC_DRAW);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, colorSize);
glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(colorAll)*header.num_tris*3, colorAll, GL_STATIC_DRAW);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, textureSize);
glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(stCoor)*header.num_tris*3, stCoor, GL_STATIC_DRAW);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, nomalSize);
glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(normalsAll), normalsAll, GL_STATIC_DRAW);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER_ARB, nomalSize);
glNormalPointer(GL_FLOAT, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER_ARB, colorSize);
glColorPointer(3, GL_FLOAT, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER_ARB, textureSize);
glTexCoordPointer(2, GL_FLOAT, 0, 0);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, vertextSize);
glVertexPointer(3, GL_FLOAT, 0, 0);
glDrawElements(GL_TRIANGLES, header.num_tris*3, GL_UNSIGNED_INT, indices );
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState( GL_VERTEX_ARRAY );
Result:
Can anyone please check my codes.
Thanks
Sarah22