1

glAlphaFunc(GL_GEQUAL, 0.5)可以显示 alpha >= 0.5 的图像。

opengl可以显示alpha的累积吗?

例子:

2 图像,它们不会单独显示某些部分,因为 alpha < 0.5。

现在有些重叠,它们的alpha总和为0.6,如​​何显示这个重叠部分?

我尝试使用opengl制作一个metaball示例,如果您有任何想法,请给我一些提示。

非常感谢

4

2 回答 2

1

我会将图像渲染到单独的缓冲区(关闭 Alpha 测试,并添加它们的 alpha)。然后,使用 Alpha Test 将缓冲区渲染到屏幕上。

  1. 首先,创建一个空缓冲区并将每个像素的 alpha 设置为 0。
  2. 然后,在所述缓冲区上渲染所有对象,使用颜色混合功能并添加 alpha。
  3. 然后,在打开 Alpha 测试的情况下重新渲染屏幕上的缓冲区。

以及“opengl 可以显示 alpha 的累积吗?”的答案?- 是的。例如,您可以将 Alpha 渲染为灰度。

于 2012-08-11T14:44:16.043 回答
0

为我工作 glBlendFunc(GL_SRC_ALPHA, GL_ONE);

于 2021-01-15T08:45:03.893 回答