2011-01-06 33 views
1

私はOpenGL ESがOpen GLのサブセットであることを理解しています。しかし、私は、Open GLのコーディング実践のために、OpenGL ESで適切なソリューションを見つけるのに非常に苦労しています。OpenGLコードをOpenGL ESに移植するための入門ヘルプリソース

たとえば、リストを表示します。 HereはすべてのNeHeチュートリアルを移植したサイトです。表示リストはチュートリアル12で紹介されています。残念なことに、OpenGL ESの表示リストを置き換えるときの基本原則を理解するのは難しいので、他にも多くのことがあります。

特定のOpenGL 1.3コードをOpenGL ES 1.0に移植する方法についての「基本的な」ステップバイステップまたは基本的な説明はありますか?

+2

どのOpenGL?どのOpenGL ESですか?これを最初にクリアすることなく完全に議論することはできません。 – Kos

+1

この例では、リストを表示するのに直接的な類推はありません。彼らはOpenGLの言葉では賛成ではなくなってしまった(パフォーマンス上の利点を持たずにドライバに複雑さを増すと感じている)、そこでは非難されている。必要に応じて関連するGLコマンドを投稿するための独自の手段を作成する必要があります。私は、さまざまな相違点についてのより幅広い話題に関する助けを提供することはできませんし、KosはそれがGLとGL ESのバージョン番号に大きく依存していると言います。 – Tommy

+0

Kosが指摘しているように、OpenGL ES 1.xはOpenGL 2.xとは大きく異なります。なぜなら、後者ではシェーダーが独占的に使用されているからです。移植プロセスは、ターゲットとする2つのアプリケーションのどちらによって異なります。 –

答えて

2

私は、その情報が含まれているすべてのリソースを知っているが、ここで私が知っていることだしません。

  • ディスプレイリストの置き換えだけで頂点データを格納するのにVBOsを使用することであり、glDrawArrays/glDrawElementsレンダリングのため。
  • 即時モードが削除されているため、描画にはVAとVBOを使用する必要があります。
  • OpenGL ES 2.0では、固定機能のパイプラインがないため、シェーダを使用してすべてを行う必要があります。
  • OpenGL ES 2.0では、アルファテストが削除され、ピクセルシェーダで行う必要があります。
  • 一般に、ESにはGLUやGLUTはなく、手動でその機能を実装する必要があります(必要な場合)。
+0

https://code.google.com/p/glues/ これはコードの移植に役立つかもしれません... – RzR