OpenGL 混合

本文深入解析OpenGL中的混合渲染技术,阐述了如何通过颜色缓存区和深度缓冲区控制片段渲染,详细介绍了混合方程式的应用及混合因子的设置,帮助读者理解OpenGL渲染管线中的关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

混合

OpenGL渲染时会把颜⾊值存在颜⾊缓存区中,每个片段的深度值也是放在深度缓冲区。当深度缓冲区被关闭时,新的颜色将简单的覆盖原来颜色缓存区存在的颜色值,当深度缓冲区再次打开时,新 的颜⾊片段只是当它们比原来的值更接近邻近的裁剪平面才会替换原来的颜色片段。

glEnable(GL_BlEND);
复制代码

组合颜色

⽬标颜色:已经存储在颜色缓存区的颜色值 源颜色:作为当前渲染命令结果进入颜色缓存区的颜色值

当混合功能被启动时,源颜色和目标颜色的组合方式是混合方程式控制的。在默认情况下,混合方程式如下所示:

Cf = (Cs * S) + (Cd * D);

Cf :最终计算参数的颜色 
Cs : 源颜色
Cd :目标颜色 
S:源合因子 
D:目标混合因子
复制代码

混合因子

设置混合因子,需要用到glBlendFun函数:

glBlendFunc(GLenum S,GLenum D);
S:源混合因⼦
D:目标混合因⼦
复制代码

表中R、G、B、A 分别代表 红、绿、蓝、alpha。 表中下标S、D,分别代表源、目标 表中C 代表常量颜色(默认⿊⾊)

摘自逻辑教育

转载于:https://juejin.im/post/5d05eb3af265da1b6e65a19b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值