android中的opengl es透明雾
我想知道为什么当我将颜色 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);
I was wondering why the fog i use in opengl es on my android phone isn't transparent when i set the colors alpha to 0. I set the background to transparent and it works fine and the Color class or the toFloatBuffer() method are working fine for my meshes but when i set the fog color to transparent then this fact is ignored. here is the basic code i use for fog in the onSurfaceCreated()
method of my renderer:
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);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是预期的行为。 OpenGL 和 OpenGL ES 中的固定功能雾仅更改片段的最终 R、G 和 B 分量。 A 分量保持不变(即
GL_FOG_COLOR
的A 分量未使用)。This is the expected behavior. Fixed-function fog in OpenGL and OpenGL ES only changes the final R, G, and B components of the fragment. The A component is left untouched (i.e. the A component of
GL_FOG_COLOR
is unused).