我对这意味着什么感到困惑:
对特定缓冲区进行混合时,片段输出中的颜色称为源颜色.缓冲区中当前的颜色称为目标颜色.
我理解混合方程本身是什么,但我不完全理解源颜色和目标颜色之间的区别.
任何人都可以提供示例或更具体的定义吗?
保持简短:
glColor4f(...)时设置操作的源颜色.通常,人们使用的原因是:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Run Code Online (Sandbox Code Playgroud)
是因为你想使用你刚才提供的alpha值.您可以使用它来乘以当前颜色,然后使用(1 - alpha)并使用它来乘以该坐标中缓冲区的当前颜色.
因此,如果使用glColor4f(1.0f,1.0f,1.0f,0.6f)绘制四边形并且缓冲区填充glColor4f(1.0f,0.0f,0.0f,1.0f),则最终操作将为:
(1.0f, 1.0f, 1.0f) * ALPHA + (1.0f, 0.0f, 0.0f) * (1 - ALPHA)
(0.6f, 0.6f, 0.6f) + (0.4f, 0.0f, 0.0f)
Run Code Online (Sandbox Code Playgroud)
所以最终的颜色是(1.0f,0.6f,0.6f)
| 归档时间: |
|
| 查看次数: |
3916 次 |
| 最近记录: |