Quartz2d векторных изображений против OpenGL векторное описание? - PullRequest
1 голос
/ 20 мая 2010

Насколько велика разница в языке описания Quartz2d для OpenGL ES?

Кажется, они похожи по описательной мощности ... за исключением того, что Quartz в основном 2d и OpenGL из коробки 3d (но его можно сфокусировать на 2d).

Отличаются ли сопоставления от 2dQuartz до 2d OpenGL ES? Я уверен, что должны быть различия в некоторых специфических особенностях, которые могут быть обработаны по-разному на одном против другого ... но сделать переводчик?

Кто-нибудь имеет опыт работы как с OpenGL, так и с Quartz2d, ​​имеет некоторые идеи?

1 Ответ

1 голос
/ 20 мая 2010

Кварц и OpenGL ES - два совершенно разных животных. В то время как у них обоих есть API на основе C, который имеет дело с конечным автоматом и который обращается в контекст, их цели различны. В Quartz вы указываете линии, кривые Безье и квадратные кривые, дуги или прямоугольники, а также заливки, градиенты и тени / свечения. В OpenGL ES вы предоставляете вершины, растровые текстуры и информацию об освещении, из которых генерируется сцена.

Они оба полезны в особых случаях. Вы можете нарисовать 2-D статический элемент, используя Quartz, в виде, слое или текстуре, а затем поместить и переместить этот вид или слой в 3-D пространство с помощью Core Animation или сделать то же самое для текстуры с помощью OpenGL ES.

Вместо того, чтобы пытаться наложить один API на другой, используйте тот, который больше подходит для того, что вы делаете, или посмотрите на структуру, подобную cocos2d , которая позволяет создавать и анимировать 2-D сцены или Core Анимация, в которой вы можете рисовать Кварц в слое, но при этом использовать красиво абстрагированный API для перемещения этих слоев.

...