二维混合
来源:互联网 发布:夏夏的淘宝店铺 编辑:程序博客网 时间:2024/06/10 05:11
二维图形混合举例
下面看一个简单的例子,实现将两种不同的颜色混合在一起。为了便于观察,我们绘制两个矩形:glRectf(-1, -1, 0.5, 0.5);glRectf(-0.5, -0.5, 1, 1);,这两个矩形有一个重叠的区域,便于我们观察混合的效果。
先来看看使用glBlendFunc(GL_ONE, GL_ZERO);的,它的结果与不使用混合时相同。
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ZERO);
glColor4f(1, 0, 0, 0.5);
glRectf(-1, -1, 0.5, 0.5);
glColor4f(0, 1, 0, 0.5);
glRectf(-0.5, -0.5, 1, 1);
glutSwapBuffers();
}
{
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ZERO);
glColor4f(1, 0, 0, 0.5);
glRectf(-1, -1, 0.5, 0.5);
glColor4f(0, 1, 0, 0.5);
glRectf(-0.5, -0.5, 1, 1);
glutSwapBuffers();
}
尝试把glBlendFunc的参数修改为glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);以及glBlendFunc(GL_ONE,GL_ONE);,观察效果。第一种情况下,效果与没有使用混合时相同,后绘制的图形会覆盖先绘制的图形。第二种情况下,alpha被当作“不透明度”,由于被设置为0.5,所以两个矩形看上去都是半透明的,乃至于看到黑色背景。第三种是将颜色相加,红色和绿色相加得到黄色。
- 二维混合
- EM算法--二维高斯混合模型(GMM)
- 混合
- 混合
- 混合
- 混合
- 混合
- 混合
- c#与IDL混合编程处理二维数组传递的处理方法
- 背包九讲系列2——混合背包、二维费用背包、分组背包
- 二维
- dd大牛背包九讲(01,完全,多重,混合,二维,分组等背包)(转载+补充)一万二千字!!!
- 混合语言混合类
- 纹理混合
- Part12 混合
- Alpha混合
- 图片混合
- OpenGL:混合
- XmlRpcRequest and XmlRpcResponse USE mimic
- JSP内置对象详解
- 迟来的初识
- javascript事件;event对象的属性
- DataGridView导出Excel文件
- 二维混合
- Javascript的document,window对象(DOM)
- 在PowerDesigner中设计物理模型
- 绝对精辟,鲜活代码和实例讲授门面设计模式
- 绞车提升能力及钢丝绳验算软件 下载地址
- 动态菜单(权限不同,菜单不同)
- 转,flex处理java返回的容器类型
- PHP中字符串的显示以及格式化(第三章 字符串与正则表达式)
- Symbian发送短信完整代码