【发布时间】:2011-07-17 09:40:55
【问题描述】:
我有一个问题,雾在使用 OpenGL 的桌面程序 (PC) 上的工作方式与预期相同,但在 Android 设备(使用 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);
但我无法让 OpenGL 雾在我的 Android 设备上完全一样地工作。我已经测试了glShadeModel()的属性等等。
应该雾化的区域是完全白色的,它是一个基本的四边形(由三角形构成)。
我做了一些gluLookAt() 的转换,但它不应该影响这个雾。
有什么想法吗?
【问题讨论】: