Voici mon problème. Je dessine une boîte en utilisant un GL_TRIANGLE_STRIP. Il n'y a pas de texture en jeu, pas de matériel et pas de shaders. Je suis juste en train de rendre le triangle coloré.Problème d'évanouissement de couleur indésirable dans OpenGL sur une bande triangulaire. Vous voulez obtenir une couleur uniforme sur le triangle
Vous pouvez voir à quoi il ressemble ici: Fail box
Mais comme vous pouvez le voir, je l'ai un problème de couleur claire décoloration. Il n'y a pas d'éclairage activé non plus.
Voici le code que j'utilise pour init et rendre la boîte.
//here init code
for(list<Particle*>::iterator p = this->shapes[this->activeShape].particles.begin();
p != this->shapes[this->activeShape].particles.end(); p++)
{
float yValue = 20.0f;
this->vertexArray[this->activeShape][current].Position.x = (*p)->x0.x;
this->vertexArray[this->activeShape][current].Position.y = -yValue;
this->vertexArray[this->activeShape][current].Position.z = (*p)->x0.y;
this->vertexArray[this->activeShape][current + listSize].Position.x = (*p)->x0.x;
this->vertexArray[this->activeShape][current + listSize].Position.y = yValue;
this->vertexArray[this->activeShape][current + listSize].Position.z = (*p)->x0.y;
current++;
}
// render code
glFrontFace(GL_CW);
glEnable(GL_BLEND);
glVertexPointer(3, GL_FLOAT, sizeof(LsmVertexColor), &this->vertexArray[this->activeShape][0].Position);
glEnableClientState(GL_VERTEX_ARRAY);
glColor4f(SCULPTY_R, SCULPTY_G, SCULPTY_B, SCULPTY_A);
glDrawElements(GL_TRIANGLE_STRIP, 20, GL_UNSIGNED_SHORT, &this->indexArray[this->activeShape][0]);
glDrawElements(GL_TRIANGLE_STRIP, 20, GL_UNSIGNED_SHORT, &this->indexArray[this->activeShape][22]);
glDrawElements(GL_TRIANGLE_STRIP, 10, GL_UNSIGNED_SHORT, &this->indexArray[this->activeShape][44]);
glDrawElements(GL_TRIANGLE_STRIP, 10, GL_UNSIGNED_SHORT, &this->indexArray[this->activeShape][54]);
J'utilise OpenGL ES 1.1 (Je sais que je ne suis pas mis à jour) et le programme est en cours d'exécution sur iPhone/iPad.
il me semble que vos sommets sont éteints, êtes-vous sûr que vous êtes en boucle droite? quelle est ta foulée? – slf