Witam,
mam taki problem: mam wczytywanie z pliku .obj, np dla wierzchołków jest struktura (dla normalnych i tekstury analogicznie tylko odpowiednio 3 i 2 współrzędne)
struct SEdge3
{
GLfloat x;
GLfloat y;
GLfloat z;
GLfloat w;
};
potem w klasie tego mojego obiektu
std::vector<SEdge3> edges;
Wszystko działa jak rysuję w ten sposób
while(triangle != triangles.end()){
glVertex4fv(reinterpret_cast<const GLfloat *>(&edges[(*triangle).w1]));
glVertex4fv(reinterpret_cast<const GLfloat *>(&edges[(*triangle).w2]));
glVertex4fv(reinterpret_cast<const GLfloat *>(&edges[(*triangle).w3]));
triangle++;
}
Ale muszę użyć vbo i nie wiem jak to przerobić... Jak robię tak to się w ogóle nie wyświetla.
GLuint id1;
glGenBuffersARB(1, &id1);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, id1);
glBufferDataARB(GL_ARRAY_BUFFER_ARB,edges.size()*sizeof(SEdge3),&edges[0],GL_STATIC_DRAW_ARB);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, id1);
glVertexPointer(3, GL_FLOAT,0,(char*)NULL);
glDrawArrays(GL_TRIANGLES,0,triangles.size());
glDisableClientState(GL_VERTEX_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
glDeleteBuffersARB(1, &id1);