деформация файла SVG. Кривые Безье? - PullRequest
1 голос
/ 30 марта 2012

У меня есть файл SVG. Этот файл показывает схему персонажа из мультфильма (2D персонаж).Мой вопрос заключается в том, могу ли я создать программу, которая позволяет пользователю взаимодействовать с контуром и деформировать его.Например, вытащить контур руки персонажа мышью, и рука станет больше.

Я полагаю, что Кривые Безье и Эллиптические дуги - это решение. Мне также интересно, если я использую OPENGL, я мог быбыть более гибким, чтобы сделать это.

Ответы [ 3 ]

1 голос
/ 30 марта 2012

Аспект взаимодействия, с которым вам придется иметь дело. Недавно появилось расширение OpenGL NV_path_rendering , которое делает точный аппаратно-ускоренный рендеринг SVG и других векторных форматов довольно простым. В SDK включен, по крайней мере, один пример, где показано взаимодействие с контрольными точками, что может послужить хорошей отправной точкой для вас. Очевидно, это потребует от вас / конечного пользователя наличия графического процессора, который поддерживает расширение. Вот видео разработчика, объясняющее расширение и что оно может делать.

0 голосов
/ 03 апреля 2012

iscriptdesign позволяет создавать интерактивную графику, но вам нужно программировать / писать ее самостоятельно.

0 голосов
/ 30 марта 2012

Мне также интересно, если я использую OPENGL, я мог бы быть более гибким, чтобы сделать это.

OpenGL никак не облегчит ситуацию. OpenGL - это API рисования, а не какой-то волшебный менеджер сцен и геометрии. Все, что он дает, - это точки, линии и треугольники, а также методы для определения того, как они должны быть отображены в кадровый буфер.

Взаимодействие с пользователем полностью выходит за рамки OpenGL.

...