Alpha的工作要覆盖



我对alpha覆盖的工作有疑问。覆盖范围值指定了原始类像素的样品覆盖哪些样品。使用Alpha覆盖范围,我们和Alpha值具有像素的覆盖值,以确定最终覆盖范围。现在,杰出的说明"如果66%的像素被原始覆盖范围覆盖,而alpha值为40%,那么最终覆盖值将为60 x 40%,为25%,对于8个样本缓冲液,则将覆盖2个样品。"但是它如何在样本级别工作。它如何确定8个样品?

中的样品

如果每个样本的覆盖范围是一个位字段,则如何对每个样品进行操作?

但是它如何在样本级别工作。它如何确定8个样品?

中的样品

这完全取决于实现。如果APLHA为0.5,则GL_SAMPLE_ALPHA_TO_COVERAGE只需创建一个覆盖范围 bask ,其中一半可用的位设置(想想抖动)。

GL规格实际需要的只是(引用GL 4.5核心配置文件规格的第17.3.3节):

转换样品alpha不需要特定算法 值为临时覆盖值。是打算的数字 临时覆盖范围中的1与Alpha的集合成正比 片段的值,所有1的最大值 所有alpha值,所有0对应于所有alpha值为 0.将用于生成覆盖值的α值夹在范围内[0;1]。还打算算法是 自然界中的伪随机,以避免由于常规而导致的图像伪像 覆盖样本位置。算法可以而且可能应该是 在不同的像素位置不同。如果确实有所不同,应该 相对于窗口而不是屏幕,坐标,以便定义 相对于窗口位置,渲染结果是不变的。

您下一个问题很容易回答:

如果每个样本的覆盖范围是一个位字段,则如何对每个样品进行操作?

将操作应用于GL_SAMPLE_ALPHA_TO_COVERAGE创建的临时覆盖面膜以及覆盖范围样品创建的片段覆盖面膜。

最新更新