OpenGL 的每个组件 alpha 通道?

sta*_*tti 5 opengl graphics alphablending

是否可以使用 OpenGL 对每个组件使用一个 alpha 通道(一个用于红色,一个用于绿色,一个用于蓝色)进行混合?如果没有,有哪些可能的解决方法?

And*_*nck 3

这不是直接支持的东西。不过,您自己实现起来相当容易:

  • 使用 3 通道“alpha”纹理渲染三角形(或其他)glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_COLOR)
  • 启用多重纹理并设置“alpha”纹理来调制您的 RGB 纹理
  • 渲染你的三角形glBlendFunc(GL_ONE, GL_ONE)