2012-09-25 3 views
0

무엇이 잘못되었는지는 알 수 없습니다. 모든 것이 괜찮은 것 같습니다. 여기에 코드 (텍스처 그냥 그리기,로드)입니다 :OpenGL - 쿼드의 텍스처 좌표

TX1=0.0; 
TX2=1.0; 
TY1=1.0; 
TY2=0.0; 

:

glBegin(GL_QUADS); 
    float TX1,TX2,TY1,TY2; 

    TX1=some_numbers_check_below_code; 
    TX2=some_numbers_check_below_code; 
    TY1=some_numbers_check_below_code; 
    TY2=some_numbers_check_below_code; 

    glTexCoord2f(TX1,TY2); 
    glVertex3f(float(RectOutput.x), float(RectOutput.y), 0.0f); 

    glTexCoord2f(TX2,TY2); 
    glVertex3f(float(RectOutput.x+InputWidth), float(RectOutput.y), 0.0f); 

    glTexCoord2i(TX2,TY1); 
    glVertex3f(float(RectOutput.x+InputWidth), float(RectOutput.y+InputHeight), 0.0f);(InputY)/float(Input.H))); 

    glTexCoord2f(TX1,TY1); 
    glVertex3f(float(RectOutput.x), float(RectOutput.y+InputHeight), 0.0f); 

glEnd(); 

이 괜찮다 (양호 : http://i.imgur.com/xLeBm.png)

하지만 (예.)로 세분화됩니다 :

TX1=0.0; 
TX2=0.5; 
TY1=1.0; 
TY2=0.5; 

(이와 유사 : http://i.imgur.com/UykBh.png)

정말, 저를 귀찮게합니다. 아마도이 코드에는 문제가 없을 것입니다. 모든 것이 잘되어야하지만 ... 그렇지 않습니다.

아이디어가 있으십니까?

+1

난 당신이하고있는 것에 대해 너무 많이 모르는 내가 OpenGL을에 전문가가 아니에요 ... 그냥 변경하는 것을 잊었다 ... glTexCoord2 F하지 내가를 사용한다 하지만 어떻게 든 텍스쳐 좌표를 비행기의 삼각형 중 하나에 보내는 것을 놓친 것 같습니다. –

답변

3

"무엇이 잘못되었는지 전혀 모른다. 모든 것이 괜찮은 것 같다." 그때, 대답 할 필요가 없습니다!

두 번째 경우에는 무엇을 얻을 것으로 예상되는지 먼저 설명해야합니다. OpenGL 전문가가 아니지만 두 번째 좌표 집합이 깨져 보입니다.

첫 번째 : 0,0 -> 1,0 -> 1,1 -> 0,1 :

0  1 
0 x---->x 
    |  | 
    |  | 
    |  v 
1 x<----x 

한 초 : 0,.5 -> .5,.5 -> .5,1 -> 0,1 : 당신이 (하지만 나도 몰라 질감을 확장하려면

0  1 
0 +-----+ 
    |  | 
    x->x | 
    | v | 
1 +--x->x 

당신이 작성하지 않은 것처럼 어떤 결과가 있어야합니다) 다음이 분명히 잘못되었습니다.

+0

답변 주셔서 감사합니다.하지만 직접 고쳐졌습니다. glTexCoord2f의 glTexCoord2i institute 일뿐입니다.) – dj8000

2

오 ... 나는 어리 석다. 시간을 내서 미안해. 여기에 오류가 있습니다 :

glTexCoord2i (TX2, TY1);

나는,