2011-07-17 104 views
9

我遇到了一個問題,霧在使用OpenGL的桌面程序(PC)上運行得像想要的一樣,但同樣的霧在Android設備(使用OpenGL ES)時不起作用。OpenGL霧與OpenGL ES fog

的代碼是一個確切的重複,它看起來像這樣:

// OpenGL ES Init 
gl.glClearColor(0.5f, 0.5f, 0.5f, 1.0f); 
float fogColor[] = {0.5, 0.5, 0.5, 1.0}; 
// Fog color to mFogBuffer... 
gl.glEnable(GL10.GL_FOG); 
gl.glFogfv(GL10.GL_FOG_COLOR, mFogBuffer); 
gl.glFogf(GL10.GL_FOG_DENSITY, 0.04f); 

// OpenGL Init 
glClearColor(0.5, 0.5, 0.5, 1.0); 
float fogColor[] = {0.5, 0.5, 0.5, 1.0}; 
glEnable(GL_FOG); 
glFogfv(GL_FOG_COLOR, fogColor); 
glFogf(GL_FOG_DENSITY, 0.04f); 

但我不能讓OpenGL的霧工作正是我的Android設備上是相同的。我已經測試了glShadeModel()的屬性等等。

應該霧的區域是全白的,它是一個基本的四邊形(由三角形構建)。 我已經做了一些gluLookAt()轉換,但它不應該影響這霧。

任何想法?

回答

2

嘗試glHint(GL_FOG_HINT, GL_NICEST)

+0

謝謝!奇蹟般有效。 – Curtain