GL_BLEND 的用途是什么?

Dra*_*jan 3 opengl

我正在学习 open gl 并且遇到了 GL_BLEND。理解它的实际用法有点令人困惑,所以如果有人有使用它的经验,你能给我解释一下吗?

dat*_*olf 6

您知道“图层”在 Photoshop(或类似的图像编辑程序)中的工作原理以及“合并图层”功能的作用吗?这是相同的原理:有一个“底部”层(目标)和一个“顶部”层(源),它们具有单个图元(三角形、线、点)的像素。对于绘制的每个三角形、线或点,当前在帧缓冲区中的“底部”层与该单个三角形、线或点的新传入层合并。精确的合成模式是通过混合功能控制的,用 设置glBlendFunc。绘制的每个图元(三角形、线、点)都会“添加”一个新层,并立即将其与底层合并。

实际应用是您在 Photoshop 中使用图层所做的一切。例如,您可能有一张窗户的库存照片,其中玻璃是半透明的。在 OpenGL 中也是如此,您可以在其中绘制几何图形,其中部分渲染为半透明并与之前绘制的内容混合。