假设我有一点glm::tvec3<float> p0 = { 0.0, 8.5, -2.0 };
和对象glm::mat4 Model = glm::mat4(1.0);
如何将对象Model
放置在点p0
上
到目前为止,我只发现了glm :: translate没用。
我认为您的问题受某些模糊语言的困扰。您需要弄清楚“放置对象”的意思]
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/
如果您要翻译矩阵,可以使用:
#include <glm/gtx/transform.hpp> // after <glm/glm.hpp>
glm::mat4 myMatrix = glm::translate(glm::mat4(), glm::vec3(10.0f, 0.0f, 0.0f));
glm::vec4 myVector(10.0f, 10.0f, 10.0f, 0.0f);
glm::vec4 transformedVector = myMatrix * myVector; // guess the result
对于您的代码,看起来像这样:
glm::mat4 translated_matrix = glm::translate(Model, p0);