0

スネークゲームを作ろうとしています。私は自分のフィールドを正方形で作成することに成功し、これで赤いヘビを正方形として描きました:

void drawSnake()
{
    mat4 modelView;

    modelView = Translate(0,0,0);
    glUniformMatrix4fv(modelViewUniform, 1, GL_TRUE, modelView);
    glDrawArrays(GL_TRIANGLES, 0, 6);
}

今のところ、ヘビを描くときにどこにもヘビを保管していません。私は、modelView をオブジェクトとして保存し、そのオブジェクトを移動させることができるのではないかと考えています。しかし、これはばかげたやり方かもしれないので、もっと良い方法をお願いしたいと思いました。

Vertex rectangleData1[rectangleSize] = {
        { vec2( -1.0, -1.0 ), color1 },
        { vec2( 1.0, -1.0 ), color1 },
        { vec2( 1.0,  1.0 ), color1 },
        { vec2( -1.0, -1.0 ), color1 },
        { vec2( 1.0,  1.0 ), color1 },
        { vec2(-1.0, 1.0 ), color1 }
    };
4

1 に答える 1

0

ゲームオブジェクトごとにマトリックスを使用および変更することが、ゲームオブジェクトを遷移させるための適切な手法であると想定するのは正しいことです。グラフィックスでは、これらのマトリックスは通常「モデル」または「ワールド」マトリックスと呼ばれます。3D アプリケーションに OpenGL を使用する場合、シェーダー プログラムにビュー マトリックスとプロジェクション マトリックスを追加で提供し (レンダリングごとに 1 つだけ使用)、リアルで変更可能なワールド スペースのプレゼンテーションを可能にします。この世界空間のカメラのような表現は、視錐台と呼ばれます。

于 2013-02-26T01:06:25.583 に答える