「スーパーバイブル」を使用してiPhoneでOpenGLを学習しようとしていますが、OpenGLからOpenGLESへの移植に問題があります。私の理解ではglRectf()
、後者ではこの機能は利用できません。代替アプローチとは何ですか?関連する概念情報もいただければ幸いです。
質問する
2481 次
2 に答える
9
代わりのアプローチは、三角形のストリップを描くことです:
GLfloat texture[] =
{
0, 0,
0, 1,
1, 0,
1, 1
};
GLfloat model[] =
{
0, 0, // lower left
0, h, // upper left
w, 0, // lower right
w, h // upper right
};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, model);
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
w
これにより、幅と高さのテクスチャ付きの長方形が描画されh
ます。
于 2009-05-05T15:01:49.303 に答える
2
長方形を作成するのではなく、2 つの三角形を作成するだけです。
ただし、iPhone の GL-ES は即時モードをサポートしていないため、これはまったく関係ありません。すべての頂点を配列で定義し、即時モード関数を使用するのではなく、頂点配列レンダリング関数の 1 つを使用してそれらを描画する必要があります。
于 2009-05-05T14:52:44.130 に答える