glm :: mat4モデル= glm :: mat4(1.0f);OpenGL C++で回転軸を回転する方法は?
float dir_x = 0.0f, dir_y = 1.0f, dir_z = 0.0f;
do {
// Clear the screen
glClear(GL_COLOR_BUFFER_BIT);
// Use our shader
glUseProgram(programID);
GLuint MatrixID = glGetUniformLocation(programID, "MVP");
glm::mat4 Projection = glm::perspective(glm::radians(45.0f), 4.0f/3.0f, 0.1f, 100.0f);
//glm::mat4 Projection = glm::ortho(-1.0f,1.0f,-1.0f,1.0f,0.0f,100.0f); // In world coordinates
// Camera matrix
glm::mat4 View = glm::lookAt(
glm::vec3(0.5, 0.5, 3), // Camera is at (4,3,3), in World Space
glm::vec3(0.5, 0.5, 0), // and looks at the origin
glm::vec3(0, 1, 0) // Head is up (set to 0,-1,0 to look upside-down)
);
float rot_angle = 0.0f;
const float speed = 0.01f;
glm::vec3 dir = glm::vec3(dir_x, dir_y, dir-z);
if (glfwGetKey(window, GLFW_KEY_LEFT) == GLFW_PRESS)
{
rot_angle = -1.0f;
Model = glm::translate(tri_center)* glm::rotate(glm::mat4(), glm::radians(rot_angle), glm::vec3(0, 0, -1))*glm::translate(-tri_center)*Model;
//dir left
...
私はオブジェクト(車を)回転させた場合、私は車のヘッドにそれを移動したいです。さて、車の頭に関係なく、車は上に動くだけです。 コードはどのように回転するのですか?回転の中心を変更
実際に何をしたいのかを明確にすることはできますか?申し訳ありませんが、私は体からそれをかなり捕まえていませんでした。あなたはオブジェクトの回転の中心を変更するつもりですか? –
申し訳ありませんが、私は英語が上手ではありません。あなたの考えは正しいです。私はオブジェクトの回転の中心を変更するつもりです – user6842178
私の答えはそれからうまくいったのですか?あなたはそれが正しい回転に持っていますか? –