使用glColor4f(1.0f, 1.0f, 1.0f, alpha_);
来设置我绘制的图元的透明度。获取当前颜色
但是我希望能够读取当前的opengl alpha值。那可能吗?
例如
float current_alpha = glGetAlpha(); //???
glColor4f(1.0f, 1.0f, 1.0f, alpha_*current_alpha);
使用glColor4f(1.0f, 1.0f, 1.0f, alpha_);
来设置我绘制的图元的透明度。获取当前颜色
但是我希望能够读取当前的opengl alpha值。那可能吗?
例如
float current_alpha = glGetAlpha(); //???
glColor4f(1.0f, 1.0f, 1.0f, alpha_*current_alpha);
要么你保存你使用glColor4f
发送的最后一个Alpha值,任你使用:
float currentColor[4];
glGetFloatv(GL_CURRENT_COLOR,currentColor);
你的意思是你在画片段的阿尔法值(这可以解释为什么你想要alpha_ * current_alpha
)?如果是这样,请记住从管道中读回一个片段是昂贵的。
如果您正在渲染回去,请考虑使用GL_SRC_ALPHA + GL_ONE_MINUS_SRC_ALPHA技巧。
谢谢。我正在尝试做类似的事情。 – ronag 2010-10-26 23:00:40