2009-04-15 3 views
1

Hier ist der Beispielcode, den ich verwende. Dieser Code ist in OpenGL. Ich möchte es auf OpenGL ES portieren. glArrayElement() wird in OpenGL ES nicht unterstützt. Stattdessen wurde empfohlen, glDrawElements(), glDrawArrays() zu verwenden. Ich kann das nicht umsetzen. Können Sie mir bitte helfen, den Code zu konvertieren?Probleme bei der Portierung von OpenGL-Code auf OpenGL ES

glTexCoordPointer(2,GL_FLOAT,sizeof(struct texcoord),tex); 
glColorPointer(4,GL_UNSIGNED_BYTE,4,col); 
glNormalPointer(GL_FLOAT,sizeof(vector),wet->n); 
glVertexPointer(2,GL_FLOAT,sizeof(struct vertexcoord),vert); 
glEnableClientState(GL_TEXTURE_COORD_ARRAY); 
glEnableClientState(GL_COLOR_ARRAY); 
glEnableClientState(GL_NORMAL_ARRAY); 
glEnableClientState(GL_VERTEX_ARRAY); 
glLockArraysEXT(0,wet->w*wet->h); 
i=0; 
for(int y=0;y<wet->h-1;y++) 
{ 
    glBegin(GL_TRIANGLE_STRIP); 
    for(int x=0;x<wet->w;x++) 
    { 
     glArrayElement(i); 
     glArrayElement(i+wet->w); 
     i++; 
    } 
    glEnd(); 
} 
glUnlockArraysEXT(); 

Und noch eine Frage ist, die wir für glEnable(GL_TEXTURE_RECTANGLE_EXT) in OpenGL ES Ersetzung zu tun haben.

Antwort

1

alles von glLockArrays nach unten können Sie loswerden. Ersetzen Sie einfach alles mit glDrawArrays und Sie sind fertig.