2011-07-17 28 views
9

フォグは、OpenGLを使用してデスクトッププログラム(PC)で意図したように動作しますが、Androidデバイス(OpenGL ESを使用)と同じフォグは機能しません。OpenGLフォグとOpenGL ESフォグ

コードが正確に複製され、それは次のようになります。

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

しかし、私は私のAndroidデバイス上のOpenGL霧の作業はまったく同じ取得することはできません。私はglShadeModel()の属性などをテストしました。

霧がかかっている部分は完全に白く、基本的なクワッド(三角でできています)です。 私はいくつかのgluLookAt()変換を行っていますが、このフォグには影響しません。

アイデア?

答えて

2

お試しglHint(GL_FOG_HINT, GL_NICEST)

+0

ありがとうございます!魅力のように動作します。 – Curtain