Конвертирайте векторно изображение на Adobe Illustrator в Open GL

Как мога да взема вектор, създаден от Adobe Illustrator, и да получа точките, необходими за възпроизвеждане на изображението в Open GL разговори?

Това, което искам да направя, е да взема някои от моите двуизмерни произведения на изкуството и директно да ги продуцирам в моите програми. Това ще ми позволи да поддържам всяка разделителна способност, която може да ми е необходима, като същевременно изглежда ясно и вероятно ще спести малко памет. Просто не мога да разбера как да го направя. В крайна сметка това ще се насочи към програмиране за Android.


person PearsonArtPhoto    schedule 18.11.2012    source източник


Отговори (2)


OpenGL не е много добър API за рисуване на 2D векторни графични илюстрации. Те обикновено съдържат много извити петна (Bezier и/или NURBS), които първо трябва да бъдат разбити на триъгълници, преди да могат да бъдат начертани с помощта на OpenGL.

Има друг API, наречен OpenVG, който е специално създаден да поддържа рисуване на 2D векторни илюстрации. Има взаимодействие с OpenGL, поддържано от някои реализации на OpenVG. И някои реализации на OpenVG наистина използват OpenGL като техен бекенд.

Друг вариант и по-жизнеспособен в момента е използването на библиотека за рисуване с векторна графика, която използва OpenGL като бекенд. Една от тези библиотеки е Cairo, която също предоставя четец за SVG файлове.

Adobe Illustrator (.ai) е патентован формат, така че предпочитам да не го използвам. Въпреки това Illustrator може да експортира в SVG съвсем добре, а Cairo чете и рисува SVG файл, генериран от Illustrator, съвсем добре.

person datenwolf    schedule 18.11.2012
comment
Жалко, че AI не може да направи това директно... Все пак разбирам мотивите зад това. - person PearsonArtPhoto; 19.11.2012
comment
@Pearsonartphoto: OpenGL е API за рисуване, а не формат на графичен файл. Няма, всъщност няма смисъл да се опитвате да съхранявате графики като верига от OpenGL команди. - person datenwolf; 19.11.2012
comment
Предполагам, че има смисъл за мен, защото по същество вие рисувате изображението, като сглобявате отделните части. Но може би просто съм луд така... - person PearsonArtPhoto; 19.11.2012

Използвайте командния ред на Inkscape, за да --export-plain-svg във файла на Illustrator. Това не е перфектно преобразуване (особено шрифтове), но върши работата.

Някой знае ли дали Cairo има нещо подобно на --export-plain-svg, тъй като Inkscape е базиран на него и е толкова ниско ниво (по-бързо)?

person corysimmons    schedule 15.01.2014