2012-03-30 5 views
1

У меня есть файл SVG. Этот файл показывает контур символа мультика (двумерный символ). Вопрос в том, могу ли я сделать программу, которая позволяет пользователю взаимодействовать с контуром и деформировать его. Примером является, чтобы вытащить контур руки персонажа с помощью мыши, и рука становится больше.деформация файла SVG. Безье кривые?

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

+0

К сожалению, эта позиция, скорее всего, будет закрыта. Прямо сейчас, ответ на все это - это что-то вроде «Да, вы могли бы это сделать», но, по крайней мере, с тем, что вы нам сказали, трудно сказать гораздо больше. –

+0

Большое спасибо за ваш ответ Джерри, я ценю его. – Faidra

+0

Добро пожаловать, за то, что мало стоило. То, что я действительно получаю, заключается в том, можете ли вы переписать его, чтобы дать более конкретные ответы. Например, хотите ли вы знать, как это сделать? Что вы сделали до сих пор - вы (например) имеете код для отображения SVG-файла как есть? Вероятно, это также поможет узнать, какую платформу и/или библиотеки вы используете/планируете использовать. –

ответ

1

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

+0

Джастин, ты просто облегчишь мне жизнь! Большое спасибо. – Faidra

0

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

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

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

+0

Я абсолютно понимаю, что вы имеете в виду. Мое понимание заключается в том, что мне больше нравится Java. Так что единственный способ использовать OpenGL, я думаю, это JOGL. Является ли JOGL таким же хорошим, как если бы я использовал OpenGL с C++? – Faidra

0

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

Смежные вопросы