0

WWDC2010 からサンプルコード GLVideoFrame を読んでいます。このサンプルでは、​​次のようなコードがあります。

static const GLfloat squareVertices[] = {
    -0.5f,  -0.33f,
     0.5f,  -0.33f,
    -0.5f,   0.33f,
     0.5f,   0.33f,
};
...
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0f, (GLfloat)(sinf(transY)/2.0f), 0.0f);
transY += 0.075f;

...
glVertexPointer(2, GL_FLOAT, 0, squareVertices);

このコードは、openGL プロジェクション設定に対して glFrustum や glOrtho などの関数を呼び出していないことに注意してください。

gLoadIdentity() を呼び出すだけで、「デフォルト」のビュー ボリュームはどれくらいになりますか?

それは遠近法プロジェクトまたは正投影になりますか?

編集:より具体的には、ビューボリュームは「3つの軸すべてで-1から1の範囲」の立方体ですか?

4

1 に答える 1

0

OpenGL は、ModelView と Projection の変換後、すべての可視要素がクリップ スペース (または NDC スペース) にあると想定します。キューブを使用し[-1;+1]^3ます。行列の内容は完全にあなたの責任です。単位行列をロードするため、射影はまったくありません。

于 2012-04-25T06:15:05.973 に答える