OpenGL雾与OpenGL ES雾的区别

9

我遇到了一个问题,就是在使用OpenGL的桌面程序上,雾效果能够正常工作,但是在使用OpenGL ES的Android设备上,同样的雾效果却不能正常工作。

代码完全相同,如下所示:

// 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()变换,但它不应该影响这个雾效果。

有什么想法吗?

1个回答

2

尝试使用 glHint(GL_FOG_HINT, GL_NICEST)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接