根据我的理解:
多重采样: 考虑我们有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启用它