質問

OpenGL ES 1.x の速度に慣れる最も簡単な方法は何ですか?

私が OpenGL について何も知らないと仮定しましょう (これは完全に真実ではありませんが、最後に OpenGL を使用してからかなり時間が経ちました)。私は iPhone 関連の開発のためにこれを学ぶことに最も興味がありますが、他のプラットフォームでどのように動作するかを学ぶことにも興味があります。

本を見つけました OpenGL ES 2.0 プログラミング ガイド, 、しかし、1.x ではなく 2.0 に重点を置いているため、最良のアプローチではないのではないかと懸念しています。私の理解では、2.0 には 1.x との下位互換性がないため、いくつかの重要な概念を見逃している可能性があります。

注記:一般的な OpenGL の学習に関する回答については、を参照してください。 https://stackoverflow.com/questions/62540/learning-opengl


私が見つけたいくつかのリソース:

役に立ちましたか?

解決

iPhone SDK 自体にはいくつかのドキュメントがあります。

それ以外は、OpenGL について知っていることだけを取り入れ (または他の方法で学び)、「古い不要な」もの (表示リスト、イミディエイト モード、OpenGL にあるものの直接関係のないもの) はすべて忘れてください。三角形を描く)。基本的に、OpenGL 3.0 で非推奨と宣言されたものはすべてアンラーンします。

GL ES 1.x は非常に単純なデバイス用です。あなたが持っているのは、ジオメトリ (頂点バッファ) を描画し、テクスチャを管理し、いくつかの固定機能状態 (照明、テクスチャ コンバイナ) をセットアップする方法です。必要なのはこれだけです。

他のヒント

私自身の作品を接続できる場合は、次の私の投稿を参照してください。 http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es. 。これは OpenGL ES への全体的な入門書としては最良のものではなく、すぐにかなり技術的な内容になりますが、これは私の執筆経験からのこの主題に対する私の見解です。 分子. 。あと、本を読み始めたところなのですが、 「モバイル 3D グラフィックス:「OpenGL ES と M3G を使用」.

私は、学ぶための最良の方法は実践することであるという提案に同意します。私は OpenGL について何も知らずに始めましたが、3 週間後に App Store で Molecules をレビューしてもらいました。明確な目標 (「OK、3D 球体を描画する必要がある」、「要求に応じて回転する必要がある」) を設定すると、その目的にのみ適用される例やドキュメントの一部を簡単に見つけることができます。あなたが取り組んでいるタスク。

世の中には多くのコード例がありますが、その多くは即時モードや、OpenGL ES でサポートされていないその他の呼び出しを使用しています。 Molecules にソースを公開してリストに追加したいところですが、Apple の NDA により今のところそれができません。 ソースコードをMoleculesに 現在利用できます.

私が OpenGL ES 1.1 で教えたクラスのビデオが、の一部としてダウンロードできるようになりました。 iTunes U の春コース. 。そのセッションのメモが見つかります ここ. 。そして 秋学期のビデオ OpenGL ES 2.0に関するクラスがあります。

また、Philip Rideout は、iPhone 用の OpenGL ES 1.1 および 2.0 開発に関する優れた本をリリースしました。 iPhone 3D プログラミング. 。ぜひお勧めします。

参考までに、Brad Larsons Molecules コードが利用可能になりました ここ.

これらは、OpenGL ES を使い始めるときに、通常の GL ではなく ES を扱うときにどのようなアプローチを取るかを確認するために非常に役立つことがわかりました。

http://www.zeuscmd.com/tutorials/opengles/index.php

前述したように、iPhone 開発者サイトからもいくつかのサンプルを入手できます。

見てみるのもいいかもしれません これ 素晴らしい Jef LaMarche の iPhone での OpenGL ES チュートリアル。

3D の開発にかなりの時間を費やした後、ほとんどの場合、最善の方法は例から学び、それを進めていくことであることに気づきました。

まずは達成すべき目標を設定することから始めます (例: パーティクル システムの実装)。これには、ブレンディング モード、テクスチャ、頂点カラー、バッチ処理、変換の使用が含まれます)、次に最も単純な要素 (四角形の描画と回転) から始めます。そこからテクスチャを追加したり、クワッドを追加したりしていきます。その際、構文に関する情報が必要になります。これは多くの本で見つけることができますが、最良の (非常に退屈な) 情報源は、ここにある仕様委員会の出版物です。 http://www.khronos.org/opengles/spec/

それでも、多くの問題に遭遇することになるでしょう。問題が発生したら、次のような状況では親友に相談してください。デモと例!
iPhone のサンプル ソースはオンラインや Apple サイトで多数見つけることができるので、それらをダウンロードし、必要なものをコピーして貼り付け、必要に応じて変更します。

楽しむ。

iPhone SDK のサンプルをダウンロードした場合は、不時着の EAGLview ファイルを確認してください。これは GLES ビューの非常に単純な実装であり、別のプロジェクトにインポートしてかなりきれいに使用できます。このプロジェクトには Texture2d (たしか) という別のクラスがあり、これも 2D で GLES を使用することに興味がある場合には非常に興味深いものです。

Android もお勧めします。Android は簡単に入手でき、すぐに動作するシミュレータを手に入れることができます。また、私の知る限りではv1.0を使用しています。
さらに多くのチュートリアルがある可能性がありますが、Google が提供する APIDemos にも OpenGL ES の概要が記載されています。確かに役に立ちました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top