使用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