2009-04-15 5 views
1

Voici l'exemple de code que j'utilise. Ce code est en OpenGL. Je veux le porter sur OpenGL ES. glArrayElement() n'est pas pris en charge dans OpenGL ES. Au lieu de cela, il a été recommandé d'utiliser glDrawElements(), glDrawArrays(). Je ne suis pas capable de convertir cela. Pouvez-vous s'il vous plaît m'aider à convertir le code.Problème de portage du code OpenGL sur l'OpenGL ES de l'iPhone

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(); 

Et une question est de savoir si nous avons tout remplacement pour glEnable(GL_TEXTURE_RECTANGLE_EXT) dans OpenGL ES.

Répondre

1

tout de glLockArrays vers le bas, vous pouvez vous débarrasser de. il suffit de remplacer tout cela avec glDrawArrays et vous êtes fait.

Questions connexes