OpenGL核心技术之混合技术

本章给读者介绍关于混合技术的实现,混合在游戏中经常使用,它在引擎中的实现主要是分为三种:透明,半透明,次序无关透明度,本篇博文主要是围绕它们进行。

在OpenGL中,物体透明技术通常被叫做混合(Blending)。一个物体的透明度,被定义为它的颜色的alpha值。alpha颜色值是一个颜色向量的第四个元素。美术在制作的游戏图片颜色,主要是由rgba四位组成的,颜色的最后一位就是我们说的alpha通道,它主要是决定材质的透明度的。

先说透明的材质处理,做过3D游戏的开发者都比较熟悉,在3D场景编辑器中经常需要在地面上刷一些草,这些草的图片制作是带有alpha通道的,效果如下所示:

程序的处理方式就是把背景去掉,把草显示出来,所以,当向场景中添加像这样的纹理时,我们不希望看到一个方块图像,而是只显示实际的纹理像素,剩下的部分可以被看穿。我们要忽略(丢弃)纹理透明部分的像素,不必将这些片段储存到颜色缓冲中。接下来要做的事情就是加载带有Alpha通道的纹理图片,在这里我们使用了SOIL库,SOIL是一个用于向OpenGL中加载纹理的小型C语言库。下载







































长沙白癜风医院
青海治疗白癜风的医院



转载请注明:http://www.92nongye.com/hxjs/hxjs/204618421.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了