여기 내 문제가 있습니다. 나는 GL_TRIANGLE_STRIP을 사용하여 박스를 그렸습니다. 관련된 텍스처가없고 재질도없고 쉐이더도 없습니다. 나는 단지 색깔의 삼각형을 렌더링하고있다.삼각형 스트립에서 OpenGL이 원치 않는 색상 변색 문제가 있습니다. 삼각형 위에 균일 한 색상을 원하십니까
당신은 그것을 여기에 어떻게 생겼는지 볼 수 있습니다 Fail box
을하지만 당신이 볼 수 있듯이, 나는 약간 투명 색상 페이딩 문제를했습니다. 조명도 활성화되어 있지 않습니다.
여기에 상자를 초기화하고 렌더링하는 데 사용하는 코드.
//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]);
저는 OpenGL ES 1.1 (최신 버전이 아닙니다)을 사용하고 있으며 프로그램이 iPhone/iPad에서 실행 중입니다. 추가
정점이 꺼져있는 것처럼 보입니다. 올바르게 루핑하고 있습니까? 당신의 보폭은 무엇입니까? – slf