Quartz2d矢量图像与OpenGL矢量描述?

时间:2010-05-20 02:26:19

标签: iphone opengl-es quartz-graphics

Quartz2d到OpenGL ES的描述语言有多大差异?

它们在描述能力上似乎相似......除了Quartz大多是2d并且OpenGL是开箱即用的3d(但可以做成2d聚焦)。

从2dQuartz到2d OpenGL ES的映射是否有所不同?我确定某些特定功能必须存在差异,这些功能可能会在一个与另一个之间以不同方式处理......但是要做翻译吗?

任何有OpenGL和Quartz2d经验的人都有一些见解吗?

1 个答案:

答案 0 :(得分:1)

Quartz和OpenGL ES是两种完全不同的动物。虽然它们都有一个基于C的API来处理状态机并且它进入上下文,但它们的目的却不同。在Quartz中,您可以指定直线,贝塞尔曲线和二次曲线,圆弧或矩形,以及填充,渐变和阴影/发光。在OpenGL ES中,您可以提供生成场景的顶点,栅格纹理和光照信息。

它们在特定情况下都很有用。您可以使用Quartz将2-D静态元素绘制到视图,图层或纹理中,然后使用Core Animation在3-D空间中放置和移动该视图或图层,或者使用OpenGL ES对纹理执行相同操作。

不要试图在另一个上覆盖一个API,而是使用更适合您正在做的事情,或者寻找像cocos2d这样的框架,它允许您构建和动画2-D场景或Core Animation你可以将Quartz绘制成一个图层,但仍然使用一个很好的抽象API来移动这些图层。