3

「スーパーバイブル」を使用してiPhoneでOpenGLを学習しようとしていますが、OpenGLからOpenGLESへの移植に問題があります。私の理解ではglRectf()、後者ではこの機能は利用できません。代替アプローチとは何ですか?関連する概念情報もいただければ幸いです。

4

2 に答える 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 に答える