В моем понимании:
Мультисэмплинг. Представьте, что у нас есть примитив с 4-кратным мультисэмплированием, и только 1 образец покрывается примитивом. Таким образом, он вычисляет процент (покрытие пикселей на основе того, сколько образцов прошло тест), то есть 25%, и смешивается с цветом фона, и мы получаем смешанный цвет для этого пикселя, который копируется во все 4 образца при выполнении фрагментного шейдера.
Сглаживание: OpenGL вычисляет размер пикселя, который покрыт примитивом (точкой, линией или треугольником), и использует его для создания альфа-значения для каждого фрагмента. Это альфа-значение умножается на альфа-значение фрагмента, созданного вашим шейдером, и, таким образом, влияет на смешивание, когда исходный или целевой коэффициент смешивания включает исходный альфа-термин.
Пожалуйста, поправьте меня, это неправильно.
В случае мультисэмплинга мы получаем смесь 50-50, но при сглаживании мы получаем смесь 25-25-50, как это?
В случае мультисэмплинга, когда мы визуализируем один треугольник, он будет обновлять FBO с цветом 25-75 пикселей, а когда визуализируется второй треугольник, он будет смешиваться с цветом фона, поэтому мы должны получить цвет фона вместо 50-50, но это не так. дело.
Здесь под мультисэмплингом я имел в виду включение его с помощью glEnable(GL_MULTISAMPLE), а под сглаживанием я имел в виду включение с помощью GL_POLYGON_SMOOTH.