我想知道为什么当我将颜色 alpha 设置为 0 时,我在 android 手机上的 opengl es 中使用的雾不透明。我将背景设置为透明,它工作正常,并且 Color 类或 toFloatBuffer()方法对我的网格工作正常,但是当我将雾颜色设置为透明时,这个事实将被忽略。这是我在渲染器的 onSurfaceCreated()
方法中用于雾化的基本代码:
gl.glFogf(GL10.GL_FOG_MODE, GL10.GL_LINEAR);
gl.glFogf(GL10.GL_FOG_START, 4.0f);
gl.glFogf(GL10.GL_FOG_END, 10.0f);
gl.glFogfv(GL10.GL_FOG_COLOR, new Color(0,0,0,0).toFloatBuffer());
gl.glEnable(GL10.GL_FOG);
最佳答案
这是预期的行为。 OpenGL 和 OpenGL ES 中的固定功能雾仅更改 fragment 的最终 R、G 和 B 分量。 A 分量保持不变(即 GL_FOG_COLOR
的 A 分量未使用)。
关于android - android中的opengl es透明雾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2889821/