05-05-2004 17:55 [IPP] Разбор полётов, координаты
Ранее по теме: 1, 2
Место действия: Intel Performance Primitives Library.

Есть там такая группа функций, WarpAffine. Берёт картинку и аффинно преобразует заданный четырёхугольник в другой заданный четырёхугольник в другой картинке.

Дико полезная фича.

Вот только, если вы ей дадите целевые координаты (0, 0)–(w, 0)–(w, h)–(0, h), то с некоторой ненулевой вероятностью она вам «забудет» залить нулевую колонку и/или нулевую строку.

Лечится указанием координат (–0.5, –0.5)–(w–0.5, –0.5)–(w–0.5, h–0.5)–(–0.5, h–0.5).

Мораль: Если ты используешь вещественночисленную координатную сетку с пикселами, считай целые числа границами между пикселами, а центры пикселей — значениями Z+0.5, где Z целое. Это естественнее и совместимо с будущим (тем же GDI+, например).

Состояние: хочу категории записей, чтобы все IPP’шные gotchas записать в неё и потом легко находить
Закрыть