J'ai essayé de dessiner un modèle avec 197 polygones, mais j'ai d'étranges pixels noirs sur elle:pixels noirs étranges sur le modèle
alt text http://i.imagehost.org/0398/IMG_0172.png
Quand je lance le code dans le simulateur iPhone, il montre bien sans les pixels noirs, mais sur l'appareil j'ai ce problème.
Je mis perspective:
const GLfloat zNear = 0.01, zFar = 1000.0, fieldOfView = 45.0;
GLfloat size;
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
size = zNear * tanf(DEGREES_TO_RADIANS(fieldOfView)/2.0);
CGRect rect = self.bounds;
glFrustumf(-size, size, -size/(rect.size.width/rect.size.height), size/(rect.size.width/rect.size.height), zNear, zFar);
glViewport(0, 0, rect.size.width, rect.size.height);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClearColor(0.3f, 0.3f, 0.3f, 1.0f);
glColor4f(0,0,0,0.5f);
glEnable(GL_SMOOTH);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnableClientState(GL_VERTEX_ARRAY);
Et dessiner (sommets du modèle, des index et Normales magasin dans les tableaux mondiaux.):
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
[EAGLContext setCurrentContext:context];
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
glTranslatef(1.0, -9, -22);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glEnableClientState(GL_NORMAL_ARRAY);
glNormalPointer(GL_FLOAT, 0, normals);
glDrawElements(GL_TRIANGLES, 3*192, GL_UNSIGNED_BYTE, icosahedronFaces);
glDisableClientState(GL_NORMAL_ARRAY);
glTranslatef(-1.0, 9, 22);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
Oui, merci. J'ai mis const GLfloat zNear = 0.1, zFar = 30.0, fieldOfView = 45.0; et maintenant tout va bien – Alexey