2014-12-07 39 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(); 

代碼工作很好,但質地調整大小以適應sizeXsizeYsizeZ值。 tga文件的大小是250x250像素。我應該將哪些值傳遞給sizeXsizeYsizeZ以匹配圖像大小?

+0

這取決於你的投影和模型視圖矩陣。如果它們是標識,則點(-1,-1,0)映射到***視口的左下角***(它與您的窗口初始尺寸相同)和(1,1, 0)映射到右上角。它被稱爲標準化設備座標空間。 – 2014-12-07 18:47:19

+0

謝謝你的回答 – 2014-12-08 10:55:10

回答

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(); 

你應該禁用深度編寫和測試。