2012-09-22 3 views
0

동일한 텍스쳐를 사용하지만 여러 좌표에서 여러 텍스쳐 쿼드를 사용하면 텍스처가 변형됩니다. 내 코드는 다음과 같습니다.여러 텍스쳐 쿼드가있는 OpenGL 잘못된 텍스쳐 좌표

glBindTexture(GL_TEXTURE_2D, texture_id); 
glBegin(GL_QUADS); 
    glVertex2f(0, 0); glTexCoords2f(0, 0); 
    glVertex2f(32, 0); glTexCoords2f(.5, 0); 
    glVertex2f(32, 32); glTexCoords2f(.5, .5); 
    glVertex2f(0, 32); glTexCoords2f(0, .5); 
glEnd(); 

glTranslatef(32, 0, 0); 

glBegin(GL_QUADS); 
    glVertex2f(0, 0); glTexCoords2f(.5, .5); 
    glVertex2f(32, 0); glTexCoords2f(1, .5); 
    glVertex2f(32, 32); glTexCoords2f(1, 1); 
    glVertex2f(0, 32); glTexCoords2f(.5, 1); 
glEnd(); 

이 문제의 원인과 해결 방법을 아는 사람이 있습니까?

+3

"는 텍스처 변신 얻을"그게 무슨 뜻 이죠? –

답변

1

당신은 잘못된 순서로 glTexCoord와 glVertex를 호출합니다. glVertex는 항상 정점을 완성하기 위해 호출 된 마지막 속성이어야합니다.

가되어야한다

glBegin(GL_QUADS); 
    glTexCoords2f(0, 0); glVertex2f(0, 0);  
    ... 
+0

감사합니다. 항상 찾는 것이 가장 쉬운 가장 간단한 실수입니다. – user1691602