Я разрабатываю приложение iOS для деформирования изображений с OpenGL ES 2.0.
Я хорошо разбираюсь в настройках, конвейере и т. Д., И теперь я перехожу к математике.
Поскольку мой опыт с деформацией изображения равен нулю, я обращаюсь к некоторым предложениям алгоритма.
В настоящее время я устанавливаю начальные вершины в точках в виде сетки, которые делят изображение поровну.на квадраты.Затем я помещаю дополнительную вершину в середину каждого из этих квадратов.Когда я рисую индексы, каждый квадрат содержит четыре треугольника в форме X. Смотрите изображение ниже:
Немного поиграв с фотошопом, я заметил, что Adobe используетнемного более сложный алгоритм для их деформации марионетки, но гораздо более упрощенный алгоритм для их стандартной деформации.Как вы думаете, что мне лучше применить здесь / личные предпочтения?
Во-вторых, когда я перемещаю вершину, я хотел бы применить взвешенное преобразование ко всем остальным вершинам, чтобы сгладить края (вместо этогоиз того, что я имею ниже, где преобразуется только выбранная вершина).Какой тип алгоритма мне следует применять здесь?