如何将类型为glm :: mat4的对象放置在特定位置

问题描述 投票:0回答:1

假设我有一点glm::tvec3<float> p0 = { 0.0, 8.5, -2.0 };和对象glm::mat4 Model = glm::mat4(1.0);

如何将对象Model放置在点p0

到目前为止,我只发现了glm :: translate没用。

c++ opengl vector position glm-math
1个回答
0
投票

我认为您的问题受某些模糊语言的困扰。您需要弄清楚“放置对象”的意思]

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);
© www.soinside.com 2019 - 2024. All rights reserved.