web-dev-qa-db-ja.com

iOSでOpenGLES2.0を学ぶ

私はOpenGLES 2.0の初心者であり、学習に役立つ優れた本/リソースを探しています。私はいくつかの本を見つけました:

  • OpenGL®ES 2.0プログラミングガイド
  • iPhone 3Dプログラミング:OpenGL ESを使用したグラフィカルアプリケーションの開発

しかし、Amazonのレビューを読んだところ、OpenGLに関する以前の知識を前提としているか、iOS専用に書かれていないことがわかりました。 (OpenGLは簡単に移植できるはずですが、iOSのコンテキストでOpenGLについて説明しているC++ではなくCの例を含む本/リソースを探しています)

私は this も見つけました。これは基本的な概念を理解するのに本当に役立ちましたが、残念ながら、それらはOpenGL ES 1.1をカバーし、基本のみを説明しています。

何か助けていただければ幸いです!

28
Valentin Radu

1年ほど前に比べて、iOS(または実際には任意のOS)用のOpenGL ES 2.0素材を見つけるのははるかに簡単です。

純粋なiOSの観点から書かれたものについては、Jeff LaMarcheの未発表の本からの章を打ち負かすのは難しいです ここ 。あなたは彼のOpenGLES 1.1チュートリアルにリンクしましたが、これも素晴らしいですが、彼は新しい2.0の資料をそのリストに載せていませんでした。

iPhone 3Dプログラミング Philip Rideout著は、OpenGL ES 1.1と2.0の両方をカバーする素晴らしい本です。あなたがOpenGL ESを知っているとは限りません。彼は、彼が話していることを理解するために必要な数学やその他の基礎のかなりの部分を説明します。彼は終わりに向かっていくつかのかなり高度な技術に入ります。ただし、彼のコードはすべてObjective-CではなくC++で記述されているため、Cocoaの開発に慣れている人にとっては少し戸惑うかもしれません。それでも、OpenGLESのコアCAPIは同じであるため、何が起こっているかを簡単に確認できます。

特定の効果を探している場合でも、 OpenGLシェーディング言語 ブックは、参照できる主要なリソースの1つです。デスクトップOpenGL用に作成されていますが、そこに示されているシェーディング言語とシェーダーのほとんどは、OpenGL ES 2.0に直接変換され、わずかな変更が必要です。

書籍 ShaderX6ShaderX7GPU Pro 、および GPU Pro 2 にも、OpenGL ES2.0に関するセクションがあります。これは、他では見られないレンダリングとチューニングのヒントを提供します。しかし、それらはより高度な(そして高価な)本です。

OpenGL ES 2.0を使い始めたばかりの場合は、GLKit(iOS 5.0でのみ利用可能)の使用を開始することをお勧めします。これにより、レンダーバッファーとシンプルなシェーダーベースのエフェクトに関する通常の設定作業が簡単になります。 Appleの WWDC 2011ビデオ これについてはいくつかの良い資料がありますが、2009年と2010年のビデオ(それらを見つけることができれば、いくつかは Appleアーカイブ で入手できます) OpenGL ES 2.0に関する資料。

最後に、Andyが言及しているように、私はiTunes Uのコースの一部として、このテーマに関するクラスを教えました。これは無料でダウンロードできます ここ 。そのクラスのコースノートは、 ここ またはVoodooPadファイルとしてダウンロード ここ にあります。私はOpenGLES 2.0セッションで少し技術的にかなり速く進むことを警告します。そのため、前学期の1.1セッションを見たいと思うかもしれません ここ 。また、OpenGL ES 2.0で行ったことについても少し話します この記事 私のオープンソースアプリケーションについて(ソースコードは ここ から取得できます)機能的なOpenGL ES 2.0 iOSアプリケーションでプレイしたい)。

62
Brad Larson

ITunesUのOpenGlES2.0でのBradLarsonのセッションを強くお勧めします。かなり詳細で、非常に役に立ちました。あなたはそれを見つけることができます ここ

5
Andy B

私はあなたがリストした本を読みました、最初のものは特に素晴らしいです-しかしそれはGL ES(私はすでにデスクトップGLを知っていました、そして私はまだたくさん記入しなければなりませんでした「ギャップ」)。

IOSでES2を「正しく」実行することについて、一連のブログ投稿を書きました。つまり、最新のGLコマンドのみを使用し、AppleのGLKitを可能な限り使用して、時間を節約し、入力を減らします。 Apple固有のハードウェア(PVRチップ)などからの落とし穴/落とし穴を回避します。

ここでインデックスを作成します: http://t-machine.org/index.php/2013/08/29/glkit-to-the-max-opengl-es-2-0-for-ios-part-1 -機能/

0
Adam

非常に基本的なオープンの傾斜GLの場合、これを確認することをお勧めします http://antonholmquist.com/blog/opengl-es-2-0-ios -tutorial-getting-started / 。これは、頂点シェーダーとフラグメントシェーダーの基本的な考え方を提供します。これを完了すると、初心者は、openGLの詳細な概念を説明する他のチュートリアルに進むことができます。

0
Devashis Kant