我正在尝试使用 RenderMonkey 设计一个使用 Alpha 透明度的 GLSL 着色器,并且 RenderState 编辑器不使用我在 OpenGL 中使用的相同术语。谁能建议如何将其配置为简单的 Alpha 透明度?
Chris Xenon Hanson
问问题
1045 次
1 回答
4
RenderMonkey 分解了源和目标的 RGB 和 A,而 OpenGL 将它们作为一个处理,将 GLenum 中的组合(如 GL_SRC_ALPHA 和 GL_ONE_MINUS_SRC_ALPHA)传递给 glBlendFunc()。例如,GL_SRC_ALPHA 设置了 RGB和A 的来源,但 RenderMonkey 似乎想要单独完成它们。So, once you turn on GL_BlendEnable TRUE, you just need to set: GL_BlendDestAlpha INV_SRC_ALPHA (equivalent to the A portion of GL_ONE_MINUS_SRC_ALPHA) GL_BlendDestRGB INV_SRC_ALPHA (equivalent to the RGB portion of GL_ONE_MINUS_SRC_ALPHA) GL_BlendSourceAlpha SRC_ALPHA (equivalent to the RGB portion of GL_SRC_ALPHA) GL_BlendSourceRGB SRC_ALPHA (相当于 GL_SRC_ALPHA 的 RGB 部分)
于 2009-05-18T01:08:34.343 回答