今天介紹關於OpenGL混合的基本知識。混合是一種常用的技巧,通常可以用來實現半透明。但其實它也是十分靈活的,你可以通過不同的設置得到不同的混合結果,產生一些有趣或者奇怪的圖象。
混合是什麼呢?混合就是把兩種顏色混在一起。具體一點,就是把某一像素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。
假設我們需要繪製這樣一個場景:透過紅色的玻璃去看綠色的物體,那麼可以先繪製綠色的物體,再繪製紅色玻璃。在繪製紅色玻璃的時候,利用“混合”功能,把將要繪製上去的紅色和原來的綠色進行混合,於是得到一種新的顏色,看上去就好像玻璃是半透明的。
要使用OpenGL的混合功能,只需要調用:glEnable(GL_BLEND);即可。
要關閉OpenGL的混合功能,只需要調用:glDisable(GL_BLEND);即可。
注意:只有在RGBA模式下,纔可以使用混合功能,顏色索引模式下是無法使用混合功能的。
OpenGL入門學習——第九課 使用混合來實現半透明效果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
OpenGL圖形管線和座標變換
guchongshimao2
2018-08-27 18:06:13
TimeShift 3d引擎.1.0版本(附帶引擎Demo) (放出.)
Spiritring
2018-08-27 18:01:04
在VS2010裏MFC對話框中使用OpenGL繪圖,添加的控件不顯示的一種解決方法
main_3k10
2018-08-27 18:00:45
用CMake創建OpenGLES的測試工程
sinat_15734507
2018-08-27 15:36:06
利用OpenGL模板緩衝,從正方形中摳出一個圓形邊框
sinat_15734507
2018-08-27 15:36:06
在Ubuntu上安裝和鏈接GLES的庫
sinat_15734507
2018-08-27 15:36:05
OpenGL模版測試
黑旋风包子
2018-08-27 14:38:53
gluLookAt 和 變換
黑旋风包子
2018-08-27 14:38:53
區分glFrustum和gluPerspective
黑旋风包子
2018-08-27 14:38:53
QOpenGLWidget類講解
苦茶Fighting
2018-08-27 14:26:59
QT 5.11.1 + OpenGL 第一篇(OpenGL在Qt中幾個版本)
苦茶Fighting
2018-08-27 14:26:59
OpenGL中的glLoadIdentity、glTranslatef、glRotatef原理【轉帖】
loop_k
2018-08-27 14:20:37
GLEW + GLFW 配置 OpenGL 開發環境
TwinkleStar0121
2018-08-27 13:44:23
今天OpenGL問題
YellowBug
2018-08-27 13:39:29
在Lua腳本中使用OpenGL函數
YellowBug
2018-08-27 13:39:28