2012-11-08 3 views
3

여기서 반 쿼드 끌어 내 함수 :glDrawElements 만

void Object::draw2() 
{ 

if(!mIsInitialised) { return; } 

//Tell OpenGL about our vertex and normal data 
glEnableClientState(GL_VERTEX_ARRAY); 
glVertexPointer(3, GL_FLOAT, 0, &Vertices.front()); 

glEnableClientState(GL_NORMAL_ARRAY); 
glNormalPointer(GL_FLOAT, 0, &Temp2.front()); 

//draw the .txt-file 
glDrawElements(GL_TRIANGLES, Indices.size(), GL_UNSIGNED_INT, &Indices.front()); 

//restore the state GL back 
glDisableClientState(GL_VERTEX_ARRAY); 
glDisableClientState(GL_NORMAL_ARRAY); 
} 

내 인덱스 벡터가 포함 1 2 3 1 2 3 4

내 정점 벡터가 포함 -1 -1 0 1 -1 0 -1 1

프로그램을 실행하면 절반 만 쿼트, 즉 삼각형을 그립니다.

결과 ->http://i.stack.imgur.com/jZALG.png

답변

7

귀하의 인덱스 벡터를 포함해야는 :

0 1 2 0 2 3 

그렇지 않으면, 당신은 정점 번호 0를 만지지과 쿼드의 절반 결국 않았다.

+1

내가 받아 들일 수 있기 전에 그것은 나에게 또 다른 분을 기다리는 것을 말한다. –