2011-12-21 35 views
0

我正在將非常大的背景紋理映射到sidescroller的四邊形。紋理的圖形沒有任何別名,這就是問題所在。OpenGL blurry原始文件

紋理結果非常模糊。圖像尺寸是800 x 600.尺寸是否必須是2的冪?如果是這樣,我是否堅持在1024 x 1024下製作更大的圖像並將多餘的屏幕保留下來?

我正在做一切正字模式。這是紋理應用於四邊形。

glEnable(GL_COLOR_MATERIAL); 
    glEnable(GL_TEXTURE_2D); 
    glBindTexture(GL_TEXTURE_2D, *texture); 

    glBegin(GL_QUADS); 
     glNormal3f(0.0f, 0.0f, 1.0f); 
     glTexCoord2f(0.0f, 1.0f); glVertex3f(pos_x, pos_y, depth); 
     glTexCoord2f(1.0f, 1.0f); glVertex3f(pos_x + size_x, pos_y, depth); 
     glTexCoord2f(1.0f, 0.0f); glVertex3f(pos_x + size_x, pos_y + size_y, depth); 
     glTexCoord2f(0.0f, 0.0f); glVertex3f(pos_x, pos_y + size_y, depth); 
    glEnd(); 

    glDisable(GL_TEXTURE_2D); 
    glDisable(GL_COLOR_MATERIAL); 
+0

請告訴我們你如何輸出你的紋理到屏幕上。你使用什麼樣的視角,你如何將紋理映射到多邊形?也許一些相關的代碼引用 – Kromster 2011-12-21 05:46:38

回答

4

也許你需要在創建紋理時禁用紋理貼圖過濾:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);