android中的opengl es透明雾

发布于 2024-09-02 08:40:06 字数 431 浏览 5 评论 0原文

我想知道为什么当我将颜色 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十年九夏 2024-09-09 08:40:06

这是预期的行为。 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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文