访问和移动模型视图OpenGL 3.2

时间:2013-01-01 23:22:54

标签: opengl

我正在尝试创建一个蛇游戏。我设法用正方形创造了我的场地,我把我的红蛇画成了一个正方形:

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 }
    };

1 个答案:

答案 0 :(得分:0)

你认为使用和修改每个游戏对象的矩阵是转换所述游戏对象的正确技术是正确的。在图形中,这些矩阵通常被称为“模型”或“世界”矩阵。使用OpenGL进行3D应用程序时,您还可以为着色器程序提供视图和投影矩阵(每个渲染只使用一个),以便对您的世界空间进行逼真,可修改的演示。这种类似于摄像机的世界空间展示称为视锥体。