OpenGL渲染到透明纹理 < >我有一个系统,用C++中的OpenGL将不同的对象渲染成不同的RGBA纹理。我想将这些纹理层层叠加,但我的问题是每个纹理都有glClearColor渲染到其中

OpenGL渲染到透明纹理 < >我有一个系统,用C++中的OpenGL将不同的对象渲染成不同的RGBA纹理。我想将这些纹理层层叠加,但我的问题是每个纹理都有glClearColor渲染到其中,opengl,transparency,framebuffer,Opengl,Transparency,Framebuffer,如何告诉OpenGL使纹理的ClearColor部分透明(0.0f alpha),以便我仍然可以看到其他层后面的部分层?的第四个参数允许您指定在清除渲染目标时要设置的alpha值,因此您只需传递0即可使其透明 渲染目标显然需要有alpha通道。此外,使用glClearColor指定的值清除alpha通道可以使用启用或禁用。谢谢!真不敢相信我竟然没想到!它有点工作,纹理的背景消失了!但我得到了一个残酷的电影颗粒一样闪烁,你知道为什么会这样吗?使用glBlendFunc(GL_SRC_ALPHA,G

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

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


渲染目标显然需要有alpha通道。此外,使用glClearColor指定的值清除alpha通道可以使用启用或禁用。

谢谢!真不敢相信我竟然没想到!它有点工作,纹理的背景消失了!但我得到了一个残酷的电影颗粒一样闪烁,你知道为什么会这样吗?使用glBlendFunc(GL_SRC_ALPHA,GL_ONE_减去GL_SRC_ALPHA);再次感谢!闪烁的声音听起来像是某种同步问题。