18

難しい選択の真っ最中です。強力な芸術的/創造的/グラフィック要素を備えたアプリケーションを作成し、それを顧客の商用プロジェクトに使用するのに役立つ言語を学びたいです。

私が最初に選んだのは OpenGL ES でした。これは「標準的な」方法だと思います。しかし、その間に、私はこのサイトを発見しました: http://www.creativeapplications.net/ここで、 OpenFrameworsCinderを使用して構築されたほとんどの ios 用の多くのクールなアプリを見つけました。

私の質問は、なぜ OpenGL の代わりにこの 2 つの「ラッパー」を選択するのですか? メリットとデメリットを理解する必要があります。

これらのフレームワークを使用して、(OpenGL に関しては) UIKit/Cocoa と Graphics を簡単な (そして標準的な) 方法で混在させることができるかどうかはわかりません。現時点では、これがアップルによって提案された方法であることを知っているため(つまり、アップルによって提案された)、OpenGLを好んでいます。顧客にもそれを利用できると確信しています。OF と Cinder を使用して、トリックなしで UIKit と Cocoa を完全に管理できるかどうかはわかりません。

4

5 に答える 5

9

フレームワークを使用する利点は、ルーベンが述べたように、車輪の再発明をしなくてもよいということです。OpenGLには、通常必要となる多くのクラスが付属していません。ベクトル、行列、カメラ、色、画像など、およびそれらを操作するために必要なメソッド:正規化、算術、外積などです。

もちろん、これはすべてOpenGLで実装できますが、誰かが以前に実装したことがある場合は、代わりにそれを活用してみませんか?フレームワークまたはライブラリの選択は、希望する実装によって異なります。OFは、代わりに別のライブラリとは異なるCinderとは異なる動作をします。

フレームワークが提供するすべてのものを使用する必要はありません。ベースアプリケーション(たとえばCinderなど)が気に入らない場合は、独自のコンテキストを作成して、フレームワークの3D数学ライブラリ、そのイメージライブラリ、またはその他の必要な部分を使用することができます。必要な関連ヘッダーを含めるだけです。

あるいは、フレームワークを一斉に廃止したい場合は、3D数学ライブラリを使用することもできます。これにより、レンダリングパイプラインをより細かく制御できるようになり、アプリケーションのサイズが小さくなる可能性もあります。

最終的に何を選択するかは、その機能と特定のスタイルの好みによって異なります。使い慣れていて、本番環境で使用されているフレームワークまたはライブラリを使用することをお勧めします(単に何かをいじっている場合を除く)。ドキュメントも重要です。ドキュメント/リソースがあまり良くない場合、私は何かを使用することを躊躇します。

もちろん、インとアウトを学びたい場合(決して悪い考えではありません)、必ず独自のライブラリを作成してください。

于 2011-05-19T18:44:36.757 に答える
7

OF と Cinder を選択する主な利点は、OpenGL ライブラリを扱って多くの時間を失うよりも、作成に集中できることです。Cinder には、画像のダウンロードとメモリ処理も含まれています。ただし、これらのフレームワークは現在 iOS プラットフォームにインポートされているため、辛抱強く待つ必要があります。

数か月または数年のうちに、グラフィックス プログラミングの背後にあるすべてのものを抽象化するこれらのフレームワークを誰もが使用して、アートを作成するための最大限の可能性と時間をもたらすでしょう!

于 2011-04-25T11:24:08.237 に答える
3

何も見逃さなければ、OpenGLだけでも大丈夫だと思います。

Cinderには、いくつかの追加機能があります。http://libcinder.org/features/を参照してください。将来的には、三角測量、システムフォントの読み込み、行列のサポートなどが興味深いかもしれません。

また、CinderのTinderboxを使用すると、新しいプロジェクトを非常に簡単に作成できます。

于 2011-05-03T13:45:37.810 に答える
3

現在、Cinder と OF の両方が iOS プラットフォームを完全にサポートしており、iOS アプリケーションで簡単に使用できます。

また、これらのフレームワークはデザイナーやクリエイティブ アーティスト/コーダーを念頭に置いて特別に設計されていますが、OpenGL はグラフィック ハードウェアを扱うための技術標準であることにも注意してください。

于 2011-11-01T23:33:35.110 に答える
3

注: 私はこのフレームワークの作成者です。

私は、iOS 用の Objective-C ベースの OpenGL ES 2.0 フレームワークである Rend の作成に時間を費やしました。軽量で、一部のプロジェクトに適した純粋なレンダリングに焦点を当てています。

また、独自のフレームワークを作成している場合は、それをインスピレーションやコード スニペットに使用できる場合があります。

http://github.com/antonholmquist/rend-ios

于 2012-06-29T15:32:49.767 に答える