使用OpenGL开发时Blend混合的参数选择技巧

原创 2007年10月14日 17:21:00

 

在使用glBlendFunc(GLenum sfactor,   GLenum dfactor )函数时,经常为选择合适的参数而大伤脑筋,不同的参数会产生不同的半透明等效果。实际上,Src有9个参数可选,而Dst有8个参数可选,从而一共有72种组合。 使用以下代码,可以查看所有可能的渲染效果,然后根据特效的索引值选择合适的参数即可。其中,RenderObjectWithAlphaAndTexture()函数是伪代码。
 
static GLenum SRC_FACTOR[9] =
 {GL_ZERO, GL_ONE, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA_SATURATE,
 GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA};

 static GLenum DST_FACTOR[8] =
 {GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA,
 GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA};

 for (int i=0; i<9; i++)
  for (int j=0; j<8; j++)
 {
  glBlendFunc(SRC_FACTOR[i], DST_FACTOR[j]);
  rectd.x = i*(w+10);
  rectd.y = j*(h+10);
  RenderObjectWithAlphaAndTexture();
 }
 

opengl中的混合(gl_blend)

Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透...
  • hudfang
  • hudfang
  • 2015年07月02日 14:42
  • 2691

OpenGL使用混合来实现半透明效果 .

原文地址:http://heroxx.blog.163.com/blog/static/5423580200908113124143/ 今天介绍关于OpenGL混合的基本知识。混合是一种常用...
  • u014386971
  • u014386971
  • 2014年03月29日 14:48
  • 1271

OpenGL学习笔记2:绘制和混合

绘制OpenGL几何图元在使用OpenGL在计算机屏幕上进行绘图时不需要从一个点的绘制开始。我们关心的不是物理屏幕坐标和像素,而是视景体中的位置坐标,我们将从7个由定义的几何图元来开始绘制实心几何图形...
  • ylbs110
  • ylbs110
  • 2016年06月18日 19:08
  • 2599

OpenGL中的混合 (blend)

Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透...
  • aabb3575007
  • aabb3575007
  • 2015年01月07日 11:15
  • 287

OpenGL编程指南14:混合半透明Blend

1.混合2D Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度...
  • shenziheng1
  • shenziheng1
  • 2017年05月08日 16:27
  • 317

OpenGL ES混合Blend

OpenGL开发中经常需要在物体外层再绘制一层,但是又不能覆盖地面的那层事物,相当于透明效果。这种情况可以使用Blend(混合)技术来实现,使用方法如下: //开启混合 GLES20.glEnable...
  • w2865673691
  • w2865673691
  • 2015年11月26日 11:40
  • 1550

20个常用Expression Blend设计开发技巧 (2)

 上一篇介绍了10个常用Expression Blend设计开发技巧,本篇将继续介绍Expression Blend其他设计开发技巧。开始介绍前,还是先罗嗦一段重复的内容,帮助新手学习Expressi...
  • jv9
  • jv9
  • 2011年06月15日 09:11
  • 1524

20个常用Expression Blend设计开发技巧 (1)

  微软Expression Blend是一款优秀的用户界面设计工具,该工具可被用于Silverlight,WPF和Windows Phone 7应用UI设计,其内置SDK类库包含大量代码帮助设计人员...
  • jv9
  • jv9
  • 2011年06月15日 09:10
  • 1806

iOS开发笔记--使用blend改变图片颜色

最近对Core Animation和Core Graphics的内容东西比较感兴趣,自己之前也在这块相对薄弱,趁此机会也想补习一下这块的内容,所以之后几篇可能都会是对CA和CG学习的记录的文章。 ...
  • errvv
  • errvv
  • 2016年01月26日 09:43
  • 170

VB 参数的混合使用实例

  • 2010年06月07日 14:45
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用OpenGL开发时Blend混合的参数选择技巧
举报原因:
原因补充:

(最多只允许输入30个字)