[問題] OpenGL 實現第一人稱視角

看板C_and_CPP (C/C++)作者 (~森林之熊~)時間14年前 (2011/12/07 20:42), 編輯推噓5(507)
留言12則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenGL 小弟剛接觸OpenGL 畫了一個在房間的場景 然後在場景內置入一個camera 想實作一個第一人稱視角的畫面出來(類似CS遊戲) 我都是對camera做更改 目前好不容易讓視角可以左右旋轉 但是前後左右的平移卻是斜斜的移動 float cam_X = 30; //攝影機座標 float cam_Y = 30; float cam_Z = 20; float cam_x = 0; //攝影機座標 float cam_y = 0; float cam_z = 0; float PI = 3.1415926; float angle = 0.0; //角度 . . . gluLookAt( cam_X, cam_Y, cam_Z, cam_X+cam_x, cam_Y, cam_Z+10+cam_z, 0, 1, 0); . . . 也試過glRotatef() 不過這樣場景只是繞著Y軸轉動 我想說 因為camera的位置一直在變動 不曉得有沒有方法可以讓"整個場景"繞camera的座標旋轉?? 這樣感覺camera前後左右移動似乎比較單純 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.44.77

12/08 08:50, , 1F
OpenGL 的 Transformation 指令都是直接把矩陣乘起來,
12/08 08:50, 1F

12/08 08:51, , 2F
最後才乘頂點 (Fixed pipeline),了解背後的數學會比較好
12/08 08:51, 2F

12/08 22:16, , 3F
先把四元數(Quaternions)讀一讀
12/08 22:16, 3F

12/09 10:31, , 4F
那樣是本末倒置吧 XD
12/09 10:31, 4F

12/09 12:23, , 5F
結果最後用三角函數的方式硬算...XDD
12/09 12:23, 5F

12/09 13:22, , 6F
打個叉,對這些圖像數學(矩陣)運算小有興趣,有介紹參考
12/09 13:22, 6F

12/09 13:22, , 7F
資料嗎?謝謝。
12/09 13:22, 7F

12/09 20:40, , 8F
CG教科書都會講基本的transform 大概就是四階矩陣運算
12/09 20:40, 8F

12/09 20:45, , 9F
CG用到的數學最重要大概就是微積分、機率、線性代數
12/09 20:45, 9F

12/09 20:50, , 10F
不過只看數學的話無法知道它們被用在哪些地方
12/09 20:50, 10F

12/09 20:51, , 11F
而是深入進animation/modelling/rendering後處處有驚喜
12/09 20:51, 11F

12/09 23:39, , 12F
謝謝 littleshan :)
12/09 23:39, 12F
文章代碼(AID): #1EtryW4L (C_and_CPP)
文章代碼(AID): #1EtryW4L (C_and_CPP)