2014-12-07 2 views
0

OpenGl 프로젝트에서 이미지를 배경으로 가져오고 싶습니다.OpenGL 표준 단위 측정

loadTGA("Textures\\greenhill_positive_x.tga",skyboxTexture[1]); 
sizeX = 20.0; sizeY = 20.0; sizeZ = 3.0; 
glBindTexture(GL_TEXTURE_2D, skyboxTexture[1]); 
glBegin(GL_QUADS); 
    glTexCoord2f(1, 1);glVertex3f(sizeX, -sizeY, -sizeZ); 
    glTexCoord2f(0, 1);glVertex3f(-sizeX, -sizeY, -sizeZ); 
    glTexCoord2f(0, 0);glVertex3f(-sizeX, -sizeY, sizeZ); 
    glTexCoord2f(1, 0);glVertex3f(sizeX, -sizeY, sizeZ); 
glEnd(); 

코드는 잘 작동하지만 질감은 sizeX, sizeY, sizeZ 값에 맞게 조절됩니다. tga 파일의 크기는 250x250 픽셀입니다. 이미지 크기와 일치시키기 위해 어떤 값을 sizeX, sizeY, sizeZ으로 전달해야합니까?

+0

이는 투영 및 모델 뷰 매트릭스에 따라 다릅니다. ID가 동일하면 점 (-1, -1,0)은 *** 뷰포트 *** (창의 처음 크기와 동일한 치수 임)의 왼쪽 아래 모서리에 매핑되고 (1,1, 0)은 오른쪽 상단에 매핑됩니다. 표준화 된 장치 좌표 공간이라고합니다. –

+0

답변 해 주셔서 감사합니다. –

답변

2

모든 모드에 대한 당신 부하의 정체성 매트릭스는 단지의 경우 :

glBegin(GL_QUADS); 
    glTexCoord2f(1, 1);glVertex3f(1, 1, 0); 
    glTexCoord2f(0, 1);glVertex3f(-1, 1, 0); 
    glTexCoord2f(0, 0);glVertex3f(-1, -1, 0); 
    glTexCoord2f(1, 0);glVertex3f(1, -1, 0); 
glEnd(); 

당신이 깊이 작성 및 테스트를 비활성화해야합니다.