Quartz 2D 与 OpenGL ES 学习曲线

发布于 2024-08-11 08:30:20 字数 203 浏览 7 评论 0原文

我开发 iPhone 应用程序已有几个月了。我想知道您对 Quartz 与 OpenGL ES 1.x 或 2.0 学习曲线的看法。你可以说出你的观点。我的问题是

*我是一名想成为游戏开发者的人,那么首先使用quartz 进行开发,然后再迁移是一个好主意吗
到 OpenGL ES 或者没有什么区别 *您能说说您遇到类似问题时的经历吗?

谢谢:)

I have been developing iPhone Applications for a couple of months. I would like to know your views about the Quartz vs OpenGL ES 1.x or 2.0 learning curve. You can tell your perspective. My Questions are

*I am a wannabe game developer, So is it a good idea to first develop in quartz , then move
on to OpenGL ES or does it not make an difference
*Can you please tell your experiences when you were having the similar question

Thanks :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

╭⌒浅淡时光〆 2024-08-18 08:30:20

恕我直言,Quartz 2D 不适用于游戏开发。它是一个软件渲染API。它不会给你实时渲染速度。它非常适合绘制带有阴影的图表或矢量文本,或者将多个图像混合在一起。只是不适合游戏。除非你想制作一款很少有图像在单色背景下移动的游戏,即使在这种情况下,我怀疑它在旧设备上是否会非常流畅。我见过一些明显是用 Quartz 编码的游戏。一副可怜兮兮的景象。

迟早您最终会使用 Open GL ES 或构建在其之上的游戏框架。我建议你检查 cocos2D、SIO2 引擎或 SDK 中的示例。
通过仔细编程,即使在第二代设备上,也可以制作具有视差滚动和相对少量对象的 60 FPS 的 Open GL ES 游戏。小翅膀就是此类游戏的一个例子。而保持稳定的30FPS根本不是问题。

Quartz 2D is not applicable for game development IMHO. It is a software rendering API. It won't give you realtime rendering speed. It's good for drawing charts or vector text with shadows, or for blending several images together. Just not for games. Unless you want to make a game where few images are moving against a monochrome background and even in that case I doubt it will be really smooth on older devices. I've seen some games obviously coded with Quartz. A pitiful sight.


Sooner or later you'll end up using Open GL ES or a game framework build on top of it. I recommend you to check cocos2D, SIO2 engine, or examples from SDK.
With careful programming it is possible to make an Open GL ES game with parallax scrolling and relatively small amount of objects work at 60 FPS even on 2nd gen devices. Tiny Wings is an example of such game. And maintaining stable 30 FPS is not a problem at all.

好倦 2024-08-18 08:30:20

我跳过了 Quartz,直接转向了 OpenGL ES。我从一个基于 2D 精灵的游戏开始。认为这很容易。

关键是有一个好的例子可供参考。我使用了月球着陆器克隆版(紧急着陆器),但我认为这不再容易找到。也许最近做过这件事的人知道一个更好、更新的例子,它使用了当前的最佳实践。

I skipped Quartz and went right to OpenGL ES. I started with a 2D sprite based game. Thought it was pretty easy.

The key is having a good example to look at. I used the Lunar Lander clone (Crash Lander), but I don't think that's easy to find anymore. Maybe someone who has done it recently knows of a better, newer example that uses current best practices.

陈独秀 2024-08-18 08:30:20

尽管我没有编程背景,但我和你描述的情况一样。 (虽然我也不知道你的背景是什么)目前,我正在学习编码,同时学习各种可用的 API。我是一个 Objective-C 人员,正在回退到基于 C 的 Quartz API,这有点挑战。幸运的是,S. Kochan 的《Programming in Objective-C 2.0》中有一个关于底层 C 功能的精彩章节,可以帮助您顺利进行。

我已经在 OpenGLES 上进行了几次尝试,我不得不说,从概念的角度来看,我还没有准备好。 Quartz2d API 从概念上来说更容易学习,因为它非常容易上手和使用。使用一些命令运行。现在,我可以轻松定义形状和点对点图像。

OpenGLES 将成为我未来的目标,但它需要大量的代码来配置绘图视图、设置缓冲区等。如果您熟悉代码所做的一切,那么就会更容易一些。然而,从学习的角度来看,Quartz 是一种更简单、快速的入门方法。

我正在使用的资源:前面提到的书,以及包含教程的少量博客,这些博客都是有限的。在这一点上,与苹果文档预约并感到舒适,因为它是关于那里最好的(免费)东西(并且详尽)话虽如此,我希望有人能在这个网站上证明我错了发布了一个很棒的学习资源,但仅此而已。祝你好运。

I'm in the same boat as you describe, although I have no programming background. (Although I don't know what your background is either) Currently, I am in the process of learning to code as I learn the various API's that are available. I'm an objective-c guy going backwards to the c-based Quartz API, and it's a little bit of a challenge. Luckily, Programming in Objective-C 2.0 by S. Kochan has a great chapter on underlying C features to keep you afloat.

I have taken a couple of stabs @ OpenGLES, and I have to say, that from a conceptual standpoint, I'm not ready for it. The Quartz2d API is a bit easier to learn conceptually because it's very easy to get up & running with a few commands. Right now, I'm at the point where I can define shapes and point to point images with out too much trouble.

OpenGLES is going to be something in my future, but it takes such an enormous amount of code to configure the drawing view, set up buffers, etc. If you are familiar with everything the code is doing, then it's a bit easier. However, from a learning perspective, Quartz is an easier way to get going, quickly.

Resources I'm using: The aforementioned book, and an anemic amount of blogs containing tutorials, which are limited @ best. At this point, make an appointment with the apple docs and get cozy, because it's about the best (free) stuff that's out there (& exhaustive) With that said, I'd love for someone to prove me wrong on this site by posting a great resource for learning, but that's about it. Good Luck.

仙女山的月亮 2024-08-18 08:30:20

我一直在寻找根本差异,以便我可以在 OpenGL (ES) 或 Quartz 或混合之间做出决定。好消息是混合动力是一种选择。显然,Quartz 更容易掌握 OO 编程,而 Apple 的答案似乎是 OpenGL,“...非常适合沉浸式类型的应用程序...”

http://developer.apple.com/library/ios/#DOCUMENTATION/General/Conceptual/Devpedia-CocoaApp/ DrawingModel.html

我不想将类别限制为游戏,因为我相信任何游戏用户体验都可以应用于商业应用程序、生产力应用程序、娱乐观看等。出于同样的原因,我完全期望技术(硬件和软件)来做出选择。

I have been looking for the fundamental differences so I can decide between OpenGL (ES) or Quartz or a hybrid. The good news is that the hybrid is an option. Clearly Quartz is easier to master for O-O programming and the answer from Apple appears to be that OpenGL, "...is ideal for immersive types of applications..."

http://developer.apple.com/library/ios/#DOCUMENTATION/General/Conceptual/Devpedia-CocoaApp/DrawingModel.html

I don't want to limit the category to games as I believe any game UX can be applied to a business App, a productivity App, entertainment viewing, etc. By the same token, I fully expect the technology (both h/w and s/w) to advance to make either a choice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文