2012-04-04 23 views
0

私は現在、OpenGL/GLUT用のC++、またはGLSL用のGLManのいずれかしか書いていませんが、OpenGLとGLSLにはかなり熟練しています。私はモバイル機器、特にAndroidでOpenGLを探していて、それについていくつか質問がありました。OpenGL ES 2.0 - Drawing Parallels

まず、私はES 2.0で「パイプライン全体をプログラムする」必要があることを知っていますが、これは私がGLSLでやってきたことだと思います。 .vert.fragのファイルを作成するなどですか?

第2に、私はthisチュートリアルを見てきましたが、それは役に立ちましたが、私を抱かせた最初のことは、頂点/フラグメントシェーダコードでした。それをファイルとして指定する方法はありますか?私は恐ろしい文字列連結フォーマットでシェイダーを書かなければならないと想像することはできません。

次に、先に見たことのないように、物事を勉強するためのベストリファレンス/ precision mediump floatは何ですか、第二に、上記の間に平行して描くためのリソースがあります宣言、そして私がよく慣れていることは、uniform float xvarying vec3 yのようなものですか?

最後に、OpenGL ES 2.0を学ぶための良い本を誰かに提案してもらい、少なくとも何らかの並列知識が必要だと考えていますか?

答えて

3

Re:パイプライン全体をプログラミングします。あなたがシェイダーと一緒にやってきたことかもしれませんが、必ずしもそうであるとは限りません。デスクトップにシェーダを導入したときには、ftransformなどのように、後方互換性のあるものがたくさん配置されていました。そうでない場合、ES 2.0では。他の違いの中でも、マトリックススタックはまったくなく、あらかじめ定義された属性や制服はありません。だから、必ずしもあなたよりもはるかに多いわけではありませんが、あなたは厳密にデスクトップGL 2.0の下にあった以上のパイプラインをプログラムしなければなりません。

Re:シェーダを別のファイルに保存する。それは間違いなく問題ありません。ファイルからStringをロードするだけです。古いJavaメソッドは何でもできます。 this one

Re:参考;絶対ベストなものはOpenGL ES 2.0 API Quick Reference Card(PDF)です。これは、OpenGL ES 2.0の全部でわずか4ページです。あなたが求めている特定のものに関しては、3番目のページ(GLSLセクションの最初のページ)の精度修飾子を参照してください。私は、平行して描画するためのリソースを直接認識していませんが、予期しない構文についてそのドキュメントを検索するだけですみます。珍しいものは、精度修飾子のように、それ自体を見上げることによって簡単に理解できる小さな調整です。

Re:本;私は何も知らない。私はデフォルトの推薦がthe blue bookであると思います。