0

根据我的理解:

多重采样:考虑我们有 4X 多重采样的原语,只有 1 个样本被原语覆盖。因此,它计算百分比(基于多少样本通过测试的像素覆盖率),即 25% 并与背景颜色混合,我们得到该像素的混合颜色,当执行片段着色器时,该像素被复制到所有 4 个样本。

抗锯齿: OpenGL 计算被图元(点、线或三角形)覆盖的像素数量,并使用它为每个片段生成 alpha 值。此 Alpha 值乘以着色器生成的片段的 Alpha 值,因此当源或目标混合因子包含源 Alpha 项时,它会对混合产生影响。

请纠正我这是错误的。

在多重采样的情况下,我们得到 50-50 的混合,但使用抗锯齿我们得到 25-25-50 的混合,这是怎么回事?

在多重采样的情况下,当我们渲染一个三角形时,它将用 25-75 像素颜色更新 FBO,而当渲染第二个三角形时,它将与背景颜色混合,所以我们应该得到背景颜色而不是 50-50,但这不是案子。

这里通过多重采样,我的意思是使用 glEnable(GL_MULTISAMPLE) 启用它,通过抗锯齿,我的意思是使用 GL_POLYGON_SMOOTH 启用它

4

0 回答 0