提示画像のように回転すると正方形のポリゴンがおかしな形に変形してしまうのですがこれはアスペクト比による問題ということが判明しました。これは提示コードの行列をどのように編集すればいいのでしょうか?
cpp
1//透視投影変換行列を作る 2void Game::create_matri_mp(float top, float bottom, float left, float right, 3 float near, float far) 4{ 5 6 for (int i = 0; i < 16; i++) 7 { 8 viewPro[i] = 0; 9 } 10 11 viewPro[0] = (2 * near) / (right - left); 12 viewPro[5] = (2 * near) / (top - bottom); 13 14 viewPro[8] = (right + left) / (right - left); 15 16 viewPro[9] = (top + bottom) / (top - bottom); 17 18 viewPro[10] = -(far + near) / (far - near); 19 20 viewPro[11] = -1; 21 viewPro[14] = -(2 * far * near) / (far - near); 22 23 for (int i = 0; i < 16; i++) 24 { 25 // printf("%.2f\n",viewPro[i]); 26 } 27 28}
回答1件
あなたの回答
tips
プレビュー