Mat*_*gro 15
这很简单:
glEnable(GL_BLEND); //Enable blending.
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //Set blending function.
Run Code Online (Sandbox Code Playgroud)
这是基本的,混合功能是基本的,应该没问题,但还有其他功能.
然后,您需要确保窗口/帧缓冲区包含Alpha通道,并且您绘制的多边形也包含Alpha信息.
小智 7
正如Matias所说的那样,但你也应该记住,为了让"透明度"按照预期工作,必须首先绘制场景中的所有非透明图元,并且必须以正确的顺序绘制透明图元. ,从Z缓冲区的后面朝向前方.
这样做的原因是OpenGL并不真正支持透明度,它通过alpha混合来模拟它,因此如果在渲染之后在"透明"基元后面绘制新对象,则新对象将不可见通过它.
| 归档时间: |
|
| 查看次数: |
9084 次 |
| 最近记录: |