用于 Alpha 透明度的 AMD RenderMonkey GLSG 配置

1 opengl alphablending glsl

我正在尝试使用 RenderMonkey 来设计一个使用 Alpha 透明度的 GLSL 着色器,并且 RenderState 编辑器不使用我在 OpenGL 中使用的相同术语。谁能建议如何配置它以实现简单的 Alpha 透明度?

小智 5

RenderMonkey 分解源和目标的 RGB 和 A,而 OpenGL 通过传递给 glBlendFunc() 的 GLenum 中的组合(如 GL_SRC_ALPHA 和 GL_ONE_MINUS_SRC_ALPHA)将它们作为一个整体来处理。例如,GL_SRC_ALPHA 设置 RGBA 的源,但 RenderMonkey 似乎想要单独执行它们。所以,一旦开启 GL_BlendEnable TRUE,你只需要设置: GL_BlendDestAlpha INV_SRC_ALPHA (相当于 GL_ONE_MINUS_SRC_ALPHA 的 A 部分) GL_BlendDestRGB INV_SRC_ALPHA (相当于 GL_ONE_MINUS_SRC_ALPHA 的 RGB 部分) GL_BlendSourceAlpha SRC_ALPHA (相当于 RGB GL_SRC_ALPHA 的一部分) GL_BlendSourceRGB SRC_ALPHA (相当于GL_SRC_ALPHA的RGB部分)