1

我正在尝试实现一个具有画笔纹理和混合的绘画应用程序,类似于油画。我发现尽管 Quartz 2D 相对容易上手,但我发现很难实现笔触纹理/混合的想法。我天真地尝试破解阴影,它看起来“还可以”,但性能很糟糕。我有一种感觉,如果我尝试使用位图图像进行绘图,我会遇到类似的性能问题,但我不知道就是这样。同时,我看到的唯一替代方案是 OpenGL,感觉有点矫枉过正,也很吓人。我看过 GLPaint,但我不能声称理解它的某些部分。进一步对我不利的是,我对 C 的了解非常有限,而且真的感觉如果我更好地理解 C,我可能也会更好地理解适用于 iOS 的 OpenGL ES。

基本上,我想知道:鉴于我需要为 iOS 绘画生成“油画”类型的效果,我是不是因为 Quartz 2D 的性能不佳,还是学习了巨大而可怕的 OpenGL 框架?是否有任何框架可以为像我这样的凡人“包装”OpenGL 功能?

或者,还有其他一些我在 Quartz 中不知道的实现笔触纹理和混合的方法吗?

4

2 回答 2

2

iOS 5 的 GLKit 会为你包装很多 OpenGL 功能,但是很难找到一个“油画库”,因为它非常具体。如果你想处理图形,我想你迟早要处理 OpenGL。这似乎令人生畏,但如果你读过一本关于它的好书,你就会开始更好地理解它。

但是,请确保先用尽 Quartz 的所有可能性。或许你可以找到最耗时的函数,然后再问一个关于如何提高效率的问题。

不过,要回答主要问题,“是的”。

于 2012-04-06T07:19:38.400 回答
1

然而它主要专注于游戏开发,有一个名为cocos2d的流行框架,它围绕 OpenGL 并为 2D gfx 开发提供简单的 API。如果您决定继续使用 OpenGL ES,我发现本教程非常出色且易于理解,即使它专注于 3D。

于 2012-04-06T08:24:39.407 回答