我有一个系统可以使用 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/