VBO zeichnet nichts

Ich versuche mit VBO in meiner Blackberry 10-Anwendung ein Quadrat zu zeichnen. Meine Implementierung ist,

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glEnable(GL_TEXTURE_2D);
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glGenBuffers(1,&decompressTileImage->VBOId);
    glBindBuffer(GL_ARRAY_BUFFER,decompressTileImage->VBOId);
    glBufferData(GL_ARRAY_BUFFER,sizeof(tileCoordList)+sizeof(tileTextureCoordList),0,GL_STATIC_DRAW);
    glBufferSubData(GL_ARRAY_BUFFER,0,sizeof(tileCoordList),tileCoordList);
    glBufferSubData(GL_ARRAY_BUFFER,sizeof(tileCoordList),sizeof(tileTextureCoordList),tileTextureCoordList);

    glTexCoordPointer(3, GL_FLOAT, sizeof(tileTextureCoordList), (void*)sizeof(this->tileCoordList));
    glVertexPointer(3, GL_FLOAT, sizeof(tileCoordList), 0);

    glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
    glDisable(GL_BLEND);
    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    glDisable(GL_TEXTURE_2D);

    swapBuffers();

Hier enthält tileCoordList die Koordinaten für das Quadrat und tileTextureCoordList die entsprechende Textur.tileCoordList ist einSquare3D Typ Struktur.

typedef struct
{
 Vertex3D lowerLeft;
 Vertex3D lowerRight;
 Vertex3D upperLeft;
 Vertex3D upperRight;
}Square3D;

typedef struct
{
GLfloat x;
GLfloat y;
GLfloat z;
} Vertex3D;

4 Vertex3D repräsentiert ein Quadrat in tileCoordList. Gleiches gilt fürtileTextureCoordList. Ich kann aber ohne VBO gut zeichnen. Ich benutze opengl-es 1.1

Eine andere Frage.

Wenn ich zwei VBOs erstelle. Angenommen, ich habe die erste mit ihrer ID verknüpft, die Daten kopiert und gezeichnet. Und dann kommt der zweite und ich binde ihn auch und kopiere die Daten und zeichne sie. Wenn ich jetzt den ersten erneut zeichnen möchte, muss ich ihn dann erneut binden? Wenn ich erneut binden muss, muss ich dann auch die Daten für diesen VBO erneut in den Puffer kopieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage