オブジェクトを中心に位置を固定でそのまま回転させたいのですがどうすればいいのでしょうか?今起きてる現象は視点を中心に回転するということなのですが自分は原点を中心に回転させたいです。
Github: https://github.com/Shigurechan/OpenGL
cpp
1 2//頂点データ 3 vertex[0].Position[0] = -1; 4 vertex[0].Position[1] = 1; 5 vertex[0].Position[2] = -10; 6 7 vertex[1].Position[0] = -1; 8 vertex[1].Position[1] = -1; 9 vertex[1].Position[2] = -10; 10 11 vertex[2].Position[0] = 1; 12 vertex[2].Position[1] = -1; 13 vertex[2].Position[2] = -10; 14 15 vertex[3].Position[0] = 1; 16 vertex[3].Position[1] = 1; 17 vertex[3].Position[2] = -10;
cpp
1//回転行列 2void Game::Set_rotate(float xx,float yy,float zz,float r) 3{ 4 glm::quat someQuat = glm::angleAxis(r,glm::vec3(xx,yy,zz)); 5 glm::mat4 ro = glm::toMat4(someQuat); 6 7 memcpy(rotate, glm::value_ptr(ro), sizeof(float) * 16); 8 9} 10
cpp
1 2//ワールド行列を計算 3void Game::CreateWorldMatrix() 4{ 5 glm::mat4x4 t = glm::make_mat4(move) * glm::make_mat4(scale) * glm::make_mat4(rotate); 6 memcpy(wordlMatrix,glm::value_ptr(t),sizeof(float) * 16); 7} 8
文章を編集しました。
回答1件
あなたの回答
tips
プレビュー