[爆卦]gluLookAt是什麼?優點缺點精華區懶人包

為什麼這篇gluLookAt鄉民發文收入到精華區:因為在gluLookAt這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者nick343401 (Fantasy)看板C_and_CPP標題[問題] gluLookAT(...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2008

額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenGL

問題(Question):
寫一隻太陽、地球、月亮公轉與自轉的程式,並以滑鼠或鍵盤控制視角。
程式開始執行是以God View的視點(能看到三個星球的運動模式),接著點滑
鼠左鍵則切換到站在地球上的視點,滑鼠右鍵則切換到月球視點,滑鼠中鍵
則切回God View。

目前遇到的問題與預期的結果:
1.我使用glPushMatrix()與glPopMatrix()來繪製整個運動的場景,假如
gluLookAt()丟到push和pop裡面會受到ratation和transformation的影響嗎?

2.我目前切換到地球視角試到的結果是,攝影機只會固定在某個點,看到地球與
月球從畫面由左而右經過,然後就一片黑畫面,我想是只看到公轉的某個部分
而已。請問我應該如何寫出正確結果的1.2之效果?謝謝。


預期的正確結果(Expected Output):
1.使用gluLookAT()來切換視角,當切到地球的時候,想讓攝影機與地球一同
旋轉(自轉),gluLookAt()可以做得到嗎?

2.第二個嘗試是讓攝影機綁在地球上,不隨著地球自轉,讓攝影機看向太陽的
方向並做公轉,畫面應該會呈現太陽與會移動的月球。

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.107.152.85
ericinttu:可視範圍的深淺? 03/31 11:48
anotherday:LookAt應該是設定攝影機所看的點 以ogre的觀點來看拉 03/31 12:02
anotherday:要作到攝影機跟地球作公轉或自轉 應該是作移動或旋轉 03/31 12:04

我目前使用glutSolidSphere()建立星球,目前的想法是取得地球的座標後,
再套用到gluLookAt()上,這樣攝影機應該就可以跟著地球做公轉,不知道這
個想法是否正確?

假如正確的話,那我應該使用甚麼方法來取得地球的座標呢?
※ 編輯: nick343401 來自: 120.107.152.85 (03/31 16:02)
anotherday:我是不知道怎麼從opengl取得地球的座標 03/31 17:03
anotherday:opengl的方面我是不太熟悉 03/31 17:03
anotherday:以你說的解法會變成攝影機固定不動的看著公轉的地球 03/31 17:04
anotherday:我不確定這是不是你想要的 03/31 17:04
anotherday:翻了一下書 你大概需要ModelView跟Projection Matrix 03/31 17:09
Keiichi:glutSolidSphere() 建立地球時 在同一位置放 glutlookAt() 03/31 17:54
Keiichi:所有對地球做的公轉與自轉動作都要對它做 03/31 17:55
Keiichi:2同上 但自轉週期換成地球的公轉週期 ^^^多打了t 03/31 17:57
dSnAil:這個程式好像我好幾年前寫過的作業...只是現在都忘記了ˊˋ 03/31 19:26
Bencrie:原po的想法ok啊,只是地球座標你要自己做矩陣運算 =w= 04/01 00:15
Bencrie:Matrix stack你就當成是一個額外的暫存區好了 04/01 00:17
nick343401:謝謝你們提供的意見,我再試試看 04/01 09:29

你可能也想看看

搜尋相關網站