今天介绍关于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