anti-aliasing) для построения отрезков и дуг (это lvl 2), пишу это всё на плюсах и Qt. Есть некая сетка с заданным шагом, начальная и конечная точки задаются координатами клетки в этой сетке.
Пока идея состоит в том, чтобы:
1) условно разбить каждую клетку (пиксель) на равные квадраты (субпиксели), т.е. запилить Ordered Grid SSAA
2) определить треугольники с вершинами A и B в начале и конце отрезка (центры соотв. пикселей), а третью точку C брать поочерёдно в центре каждого субпикселя
3) найти длины высот CiHi, где i — условный номер субпикселя. т.е. считаем фактически расстояние от центра каждого субпикселя до отрезка
4) посчитать среднее арифметическое длин высот, и если оно 0 ≤ r ≤ 1, принять его за интенсивность цвета пикселя
Но пока не нашёл ответы на следующее: какие пиксели (точнее, как их определить) разбивать на субпиксели? Соответствуют ли такие вычисления самому понятию суперсэмплинга?
По первому пункту думаю сделать цикл как для алгоритма Ву, хотя так некоторые пиксели будут просчитываться дважды. Там на каждой итерации берутся координаты двух пикселей: {X + i, floor(Y0 + i*dy/dx) } и {X + i, floor(Y0 + i*dy/dx) + 1 }
В верном вообще направлении размышляю?
#question #ssaa
Обсуждают сегодня