NeHe OpenGL教程 08 Alpha混合

alpha是除RGB外的第四个颜色分量,代表不透明度。

OpenGL根据要绘制像素的alpha值和屏幕已有像素alpha值来混合要绘制像素颜色与已有像素颜色,得到目标颜色,这就是alpha混合。混合计算方式有多种。

作者在示例代码中,在绘制半透物体时不写深度缓冲,这样才能使被半透物体挡住的物体不会因为深度检测而被过滤掉。

要想在场景中进行正确的alpha混合,上述的方法一般只在要求简单的情况下使用,比较通用的做法是:首先对场景中物体分组,不透明的物体先渲染,半透的物体后渲染;渲染半透物体时,根据物体深度值排序,先渲染远处的,后渲染近处的。

glBlendFunc设置alpha混合计算公式,

glEnable(GL_BLEND)打开alpha混合功能

原文地址:https://www.cnblogs.com/indif/p/2025890.html