OpenGL 渲染到透明纹理

标签 opengl transparency framebuffer

我有一个系统可以使用 C++ 中的 OpenGL 将不同的对象渲染为不同的 RGBA 纹理。我想将这些纹理叠加在一起,但我的问题是每个纹理都渲染了 glClearColor。

如何告诉 OpenGL 使纹理的 ClearColor 部分透明(0.0f alpha),以便我仍然可以看到其他图层后面的图层部分?

最佳答案

glClearColor的第四个参数允许您在清除渲染目标时指定要设置的 alpha 值,因此您只需传递 0 即可使其清晰透明。

您的渲染目标显然需要有一个 alpha channel 。此外,可以使用 glColorMask 启用或禁用使用 glClearColor 指定的值清除 alpha channel 。 .

关于OpenGL 渲染到透明纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41460206/

相关文章:

python - OpenGL正确的矩阵变换顺序以在定点旋转对象

html - 如何使子div透明?

c# - DataVisualization 设置区域透明度

c# - 在 C# 中使标签的文本透明

javascript - WEBGL-FBO : Why is the DEPTH_COMPONENT texture blank after rendercall

c - 为什么我的小 C 循环不能正确打印到帧缓冲区,但它的展开版本可以?

c++ - 使用 DevIL 在 C++ OpenGL 中加载纹理

python-2.7 - Ubuntu 上的 PyOpenGL for Python 2.7

c++ - "Error in the program"谁能清除这个错误..? (Linux 帧缓冲区程序)

c++ - 使用 OpenGl 渲染 .obj 文件