为对象生成MVP

时间:2011-08-31 13:05:19

标签: c++ opengl matrix

所以我使用GLM为每个特定模型生成MVP,如下所示:(忽略命名空间错误,我使用命名空间glm,但有时我只是想写它)

//Generate MVP
glm::mat4 Projection = glm::perspective(45.0f, 4.0f / 3.0f, 0.1f, 100.0f);
glm::mat4 View = glm::lookAt(
    vec3(4, 4, 3),
    vec3(0, 0, 0),
    vec3(0, 1, 0)
    );
glm::mat4 Model = mat4(1.0f);

glm::mat4 MVP = Projection * View * Model;

如果我希望我的模型位于与原点不同的位置,我应该简单地改变

glm::mat4 Model = mat4(1.0f);

glm::mat4 Model = glm::gtx::translate(x, y, z);

1 个答案:

答案 0 :(得分:0)

是的,应该这样做。可以把它想象成将模型放在相对于世界的位置。