【发布时间】:2017-01-04 09:23:15
【问题描述】:
我有一个系统可以使用 C++ 中的 OpenGL 将不同的对象渲染为不同的 RGBA 纹理。我想将这些纹理叠加在一起,但我的问题是每个纹理都渲染了 glClearColor。
如何告诉 OpenGL 使纹理的 ClearColor 部分透明(0.0f alpha),这样我仍然可以看到其他图层后面的部分图层?
【问题讨论】:
标签: opengl transparency framebuffer
我有一个系统可以使用 C++ 中的 OpenGL 将不同的对象渲染为不同的 RGBA 纹理。我想将这些纹理叠加在一起,但我的问题是每个纹理都渲染了 glClearColor。
如何告诉 OpenGL 使纹理的 ClearColor 部分透明(0.0f alpha),这样我仍然可以看到其他图层后面的部分图层?
【问题讨论】:
标签: opengl transparency framebuffer
glClearColor的第四个参数允许你指定一个alpha值在你清除渲染目标时设置,所以你可以只传0让它清晰到透明。
您的渲染目标显然需要一个 Alpha 通道。此外,可以使用 glColorMask 启用或禁用使用 glClearColor 指定的值清除 alpha 通道。
【讨论】: