Re: [問題] openGL 飛機控制飛行
※ 引述《richard730 (Life Bubble GT)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: DEV C
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: OPENGL
: 問題(Question):
: 我想要控制飛機飛行 我已經畫出一台飛機 然後可以用上下左右控制機頭
: 做ROTATE EX:案到上就glRotatef(-0.5, 0.0f, 0.0f, -1.0f);
: 然後我想控制他飛行 就是他一直往前飛 我是用平移矩陣 但是我到這裡就卡住了
: 因為好像不能朝著機頭方向飛行> <
: 餵入的資料(Input):
: 無
: 預期的正確結果(Expected Output):
: 上述問題
: 程式碼(Code):(請善用置底文網頁, 記得排版)
我的建議是
不要使用按一次就呼叫一個矩陣
而是使用一個變數去記住你飛機目前的位置朝向
重畫的時候就重設矩陣
然後在modelview matrix部份
每次都是先載入單位矩陣
然後飛機在原點旋轉
再移動到目前位置
opengl的矩陣效果在數學式上是乘在右邊
所以後輸入的矩陣效果會先發揮效果
所以移動和旋轉的順序要對調喔
寫出來會類似這樣
切換矩陣模式 modelview
載入單位矩陣
gluLookAt
移動到放置位置
原地旋轉成目前朝向
畫出飛機
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.210.62
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):