DirectX11 混合方程

本文介绍了DirectX11中的混合技术,包括混合方程的原理和应用。混合用于将光栅化像素与后台缓冲区像素融合,常用于渲染半透明效果,如水和玻璃。混合方程涉及源和目标像素的颜色处理,以及不同的混合操作和系数,提供了多种视觉效果的可能性。

混合方程

1. 什么是混合?

考虑下图。我们从地形和板条箱开始渲染场景,先绘制地形,再绘制板条箱,使地形和板条箱的像素依次存入后台缓冲区。然后使用混合(blending),将水体绘制到后台缓冲区,使水体像素和后台缓冲区中的地形、板条箱像素融为一体。通过一方式,我们可以透过水体看到地形和板条箱。本章我们主要讲解混合技术,它可以将当前的光栅化像素(也称为源像素)与后台缓冲区中的像素(也称为目标像素)混合(融合)在一起。该技术通常用于渲染半透明物体,比如水和玻璃。

这里写图片描述
(半透明的水面)

注意:为了叙述方便,当我们提到后台缓冲时,指的是渲染目标。但是,我们也可以绘制到一个“离屏,off screene”渲染目标中。混合作用在这些渲染目标的方式是相同的,目标像素的值就是之前光栅化后的离屏渲染目标中的值。

2. 什么是混合方程?

设Csrc为当前正在进行光栅化处理的第ij个像素(源像素)的颜色,Cdst为后台缓冲区中的第ij个像素(目标像素)的颜色。当不使用混合时,Csrc会覆盖Cdst的值(假设该值已通过深度/模板测试)并成为后台缓冲区中的第ij个像素的新颜色。但是当使用混合时,Csrc和Cdst会被组合为一个新颜色C并覆盖Cdst的值(即,混合颜色C会成为后台缓冲区中的第ij个像素的新颜色)。Direct3D使用如下混合方程混合源像素和目标像素颜色:

这里写图片描述

Fsrc(源混合系数)和Fdst(目标混合系数)可以是下一节描述的任何一个值,它们按照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值