2011-09-20 147 views
2

我在lwjgl(java opengl)中製作了一個包含紋理立方體網格的遊戲。紋理邊緣的顏色精度

我已經修復了紋理座標在邊緣不準確的常見錯誤,我的座標是100%準確的。

在場景中移動時,我的鮮紅色四邊形邊緣上的像素在與綠色四邊形重疊的情況下僅在很短的時間內閃爍水滴(這恰好是我清晰的顏色)。重疊後面的其他四邊形顏色呈綠色。

問題只出在立方體頂部的近側和遠側。

在你問之前,我的紋理中沒有藍色像素。

我的分/磁過濾器在綠色的重疊處固定了一條棕色線。但我認爲這可能是問題的一部分。

我怎樣才能讓這些像素保持紅色,或去綠色?

或者更具體一點,我怎樣才能使混合只使用最接近的顏色,而不是做任何結合?

這裏是我的PARAMS:

  GL11.glEnable(GL11.GL_TEXTURE_2D); 
     GL11.glEnable(GL11.GL_ALPHA_TEST); 
     GL11.glAlphaFunc(GL11.GL_GREATER, (float) 0.9); 
     GL11.glEnable(GL11.GL_BLEND); 
     GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); 
     GL11.glColor4f(255, 255, 255, 1.0f); 
     GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE); 
     GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); 
     GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST); 
+0

你能發表截圖嗎? – Thomas

+0

你想使用alpha混合或(布爾)'ALPHA_TEST'嗎?這兩個選項是互不兼容的。可能不是你的問題;我只是想我會提到它。 – duskwuff

回答

0

哇,解決。從截圖看,它實際上是我的眼睛欺騙我與青色幻影,隨着屏幕移動和像素估計的變化邊界從紅色閃爍到白色。長時間盯着紅色,閉上眼睛,你會看到青色。我將查找一些反鋸齒指南或更改我的濾鏡來混合顏色。