我正在創建一個簡單的opengl應用程序,它明顯包含一些3d對象和紋理。然而,我的問題是,每個紋理都會出現僞像。這些以沿着邊緣的三角形的形式出現。刪除OpenGL紋理構件
我注意到,只要我將視點移近貼圖就能完美呈現,它就會消失。因此我懷疑它有些事要做,無論是使用mipmapping還是z緩衝區。 請注意,所有的紋理座標都是從.3ds文件中加載的,並且所有的紋理座標都在0-1範圍內進行驗證。
這裏是我的問題的一個畫面:
紋理加載這樣的:當我使用的DirectX,近平面/遠平面的距離比編程
//Texture parameters
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
//Define the 2d texture
glTexImage2D(GL_TEXTURE_2D, 0, 4, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, array);
//Create 2d mipmaps
gluBuild2DMipmaps(GL_TEXTURE_2D, 4, width, height, GL_RGBA, GL_UNSIGNED_BYTE, array);
你可以請張貼網格的圖片嗎?發動機是覆蓋單個四邊形還是由多個三角形組成? – 2009-08-13 12:51:32