0

我正在尝试创建一个蛇游戏。我设法用正方形创建了我的领域,并用这个把我的红蛇画成了一个正方形:

void drawSnake()
{
    mat4 modelView;

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

现在我画蛇的时候不会把它放在任何地方。我在想也许我可以将模型视图存储为一个对象,然后平移该对象,这将是一条四处移动的蛇。但也许这是一种愚蠢的方法,所以我想我会要求一些更好的方法。

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

您认为使用和修改每个游戏对象的矩阵是转换所述游戏对象的正确技术是正确的。在图形中,这些矩阵通常被称为“模型”或“世界”矩阵。在将 OpenGL 用于 3D 应用程序时,您可以另外为着色器程序提供视图和投影矩阵(每次渲染仅使用一个),以实现真实、可修改的世界空间呈现。世界空间的这种类似相机的呈现方式称为视锥体。

于 2013-02-26T01:06:25.583 回答