Re[4]: Antialiasing.
От: Аноним  
Дата: 16.10.02 02:10
Оценка:
Здравствуйте McSeem2, Вы писали:

Где это можно посмотреть в наглядном виде C++ или любого другого языка (именно antialiased pixel)? У меня была идея все рисовать маленькими 1-2 pix wide antialiasing'овыми линиями — окружности, сплайны, вообщем любой примитив,
вроде должно получиться.

MS>Нет ничего проще. Вычисляешь площадь части пиксела (в общем случае, площадь трапеции, в частном — площадь прямогугольного треугольника), занятую телом фигуры. Прзрачность пиксела устанавливаешь пропорционально этой площади. Точнее, не совсем пропорционально — как правило, требуется еще и гамма-коррекция. Одной точки здесь не достаточно — надо знать вектор, а так же, по какую сторону от него находится тело фигуры. Далее. Через один пиксел может проходить сколько угодно границ. Что делать в этом случае? Вершины полигонов тоже надо обработать корректно — там надо в общем случае вычислять площадь пяти- или шестиугольника, причем невыпуклого. Алгоритм, который я использую, отрабатывался в течение полугода совместно с автором FreeType (David Turner, http://www.freetype.org). Apple, Adobe и прочие монстры над этим вообще годами работают. Если нет сил и времени разбираться, но есть силы сочинить нечто подобное с нуля, то я снимаю шляпу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.