DrawElements
Like this:
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer( 3, GL_FLOAT, 0, vectorArray );
where vectorArray is the pointer to your vector Array.
If by vector Array you mean stl vector:
vector pCoords; // List of vertices
Then give the pointer to the first element of the array like this:
glVertexPointer( 3, GL_FLOAT, 0, &pCoords[0] );
after that you can use glDrawElements
Assign all the indices of triagles in one array pointer pIndices.
unsigned int *pIndices;
glDrawElements(GL_TRIANGLES, numberOfIndices, GL_UNSIGNED_INT, pIndices);
See the Red Book for details...
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer( 3, GL_FLOAT, 0, vectorArray );
where vectorArray is the pointer to your vector Array.
If by vector Array you mean stl vector:
vector pCoords; // List of vertices
Then give the pointer to the first element of the array like this:
glVertexPointer( 3, GL_FLOAT, 0, &pCoords[0] );
after that you can use glDrawElements
Assign all the indices of triagles in one array pointer pIndices.
unsigned int *pIndices;
glDrawElements(GL_TRIANGLES, numberOfIndices, GL_UNSIGNED_INT, pIndices);
See the Red Book for details...
quote:Original post by skremonNote that this isn''t completely safe. Although most STL vector implementations store the data in contiguous memory, the C++ spec does not (yet) require this.
If by vector Array you mean stl vector:
vector<CVector3> pCoords; // List of vertices
Then give the pointer to the first element of the array like this:
glVertexPointer( 3, GL_FLOAT, 0, &pCoords[0] );
Thanks Both, I''ll be testing it. I already added it my model editor and VBO , 44000tris in 4 opengl windows at one time runs pretty well.
i''m using stl vector to save memory leaks. So, it seems fine right now. but, if it does split up, i can save by reserving data?
Bobby
i''m using stl vector to save memory leaks. So, it seems fine right now. but, if it does split up, i can save by reserving data?
Bobby
quote:Note that this isn''t completely safe. Although most STL vector implementations store the data in contiguous memory, the C++ spec does not (yet) require this.
I''m quite sure that Visual C++ compiler stores stl vector in contiguous memory. Can you tell me of any other compilers that doesn''t do it?
BTW First i used STL vectors but eventually i used pointers (copied them from vector to memory) for vertex arrays.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement