1

glOrthof のインターネットで以前の投稿や説明を見ましたが、よくわかりません。YouTube で Stanford OpenGL ES のレッスンを見ていると、次のコードが出てきました。

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(0, backingWidth, 0, backingHeight, -1, 1);

このコードは、画面の左下隅に 1px x 1px の画像を描画します。なぜこれを行うのでしょうか?このコードは (0,0) から画像を取得し、画面全体に拡大すると考えました。これは、平面を 0 から画面の幅まで、0 から画面の高さまでと指定しているためです。誰かが左下隅に1px x 1pxとして描画する理由をできるだけ簡単に説明してください. 完全なソース コードは、「openGLtransforms.zip」というラベルの付いたスタンフォードの Web サイトにあります。

ソースコードのウェブサイト

(このコードが表示されるファイルは ES1Renderer.m です)

ありがとう!

4

1 に答える 1

0

いいえ、glorthoはそれらの内部にあるものを画面に「マッピング」し、画面の中心をそれらの平面の中心にします。したがって、グロルトコールを指定してオブジェクトを(0,0,0)に配置すると、オブジェクトはシーンの隅に配置されます。おそらく、プレーンを-backingWidth/2から+backingWidth/ 2に、-backingHeight/2からbackingHeight/2に移動させる方が便利です。あなたのオブジェクトはどれくらいの大きさですか?zFar平面がzNearに近すぎますが、オブジェクトはそのスペースに収まりますか?

于 2012-12-28T05:31:58.110 に答える