2013-02-14 92 views
0

我想在OpenGL中實現移動場景。如何實現移動場景

場景描述:地形是靜態的,但所有其他對象都朝着-x軸移動。

地形是在xz平面的飛機。

我有一個網格,會出現很多次在地形上的幾個地方。
但是他們都將以特定的速度朝-x軸移動。

我想這些可能實現的:

  1. 創建一個唯一的網,並顯示了好幾次(我喜歡這個)
  2. 創建若干網格,將它們保存到一個載體,然後將它們移動。他們離開視口後,也許會銷燬它們?

第一種方法的問題是,我將創建x%可能性的網格,因此這需要不知道將需要的網格數。那我該如何展示它們呢?

在例如,如果我知道我將創建3個網格,我會做這樣的:

glPushMatrix(); 
glTranslatef(mesh1 position + speed) 
mesh.dray(); 
glPopMatrix(); 

glPushMatrix(); 
glTranslatef(mesh2 position + speed) 
mesh.dray(); 
glPopMatrix(); 

glPushMatrix(); 
glTranslatef(mesh3 position + speed) 
mesh.dray(); 
glPopMatrix(); 

現在的情況下,我們需要的,只要動畫繼續創造網格,我將如何實現呢?其次,那個離開視口的網格呢?他們是否繼續存在?

+1

請勿使用固定功能流水線! – 2013-02-14 23:23:35

+1

@ FelixK:你的意思是不要使用上面寫的代碼,對吧? – Chris 2013-02-14 23:26:12

+0

固定功能流水線已棄用,不應使用。這有時很難幫助別人。在stackoverflow或google上搜索關於此主題的更多信息。 – 2013-02-14 23:47:02

回答

0

如果您打算在純OpenGL中編寫此代碼,此答案無用。

但是,如果你願意嘗試第三方庫,請嘗試www.ogre3d.org - 我會發現這在食人魔中非常容易實現。

事實上,如果我沒有記錯的「中級教程一個人的挑戰,,應解決您使用OpenGL遇到的問題相當於食人魔概念。

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Intermediate+Tutorial+1&structure=Tutorials

(會已將此作爲一個評論,只是最近纔開始活躍起來!)

+0

嗯,我只需要使用純OpenGL,因爲它是一個任務。 – Chris 2013-02-14 23:36:56

+0

對不起,我有大約20分鐘純OpenGL的經驗....也許我會留下來爲其他人的薰陶... – user1833028 2013-02-14 23:41:06

0

使用選項2,只是不刪除它們只是移動他們回來,並再次使用它們。比如說,如果我想數羊......我不會創建1,000,000個網格的綿羊,我會創建1或2個,然後在使用它們之間旋轉。

+0

我將不得不找出有多少人會通過測試需要現場需要,對嗎?此外,我必須保存他們的位置,以檢查他們是否通過了視口的左側,以便我將他們重新定位在正確的位置..這是否正確實施? – Chris 2013-02-15 08:12:49