1

数日前、opengl 1.1 を使用して小さなボクセル ゲームを開始しました (非常に時代遅れであることはわかっています)。sfml ライブラリを使用して、opengl コンテキストを作成します。問題はテクスチャ座標にあると思いますが、よくわかりません。レンダリング コード:

    glPushMatrix();
    glBegin(GL_QUADS);
    glColor3f(0.5, 0.5, 0.5);
    //front
    glTexCoord2f(0, 0); glVertex3f(0, 0, 0);
    glTexCoord2f(1, 0); glVertex3f(0, 1, 0);
    glTexCoord2f(1, 1); glVertex3f(1, 1, 0);
    glTexCoord2f(1, 0); glVertex3f(1, 0, 0);
    //back
    glTexCoord2f(0, 0); glVertex3f(0, 0, 1);
    glTexCoord2f(1, 0); glVertex3f(0, 1, 1);
    glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
    glTexCoord2f(1, 0); glVertex3f(1, 0, 1);
    glColor3f(0.6, 0.6, 0.6);
    //top
    glTexCoord2f(0, 0); glVertex3f(0, 1, 0);
    glTexCoord2f(1, 0); glVertex3f(0, 1, 1);
    glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
    glTexCoord2f(1, 0); glVertex3f(1, 1, 0);
    //bottom
    glTexCoord2f(0, 0); glVertex3f(0, 0, 0);
    glTexCoord2f(1, 0); glVertex3f(0, 0, 1);
    glTexCoord2f(1, 1); glVertex3f(1, 0, 1);
    glTexCoord2f(1, 0); glVertex3f(1, 0, 0);
    glColor3f(0.7, 0.7, 0.7);
    //left
    glTexCoord2f(0, 0); glVertex3f(0, 0, 0);
    glTexCoord2f(1, 0); glVertex3f(0, 1, 0);
    glTexCoord2f(1, 1); glVertex3f(0, 1, 1);
    glTexCoord2f(1, 0); glVertex3f(0, 0, 1);
    //right
    glTexCoord2f(0, 0); glVertex3f(1, 0, 0);
    glTexCoord2f(1, 0); glVertex3f(1, 1, 0);
    glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
    glTexCoord2f(1, 0); glVertex3f(1, 0, 1);
    glEnd();
    glPopMatrix();

これは、ゲーム内の木のテクスチャの 1 つです。 ゲーム内テクスチャ

これは、木目テクスチャのイメージです。 ここに画像の説明を入力

それは本当に奇妙にマッピングされます。なにが問題ですか?誰かが通常のテクスチャ キューブの例を投稿できますか?

4

1 に答える 1