2014-12-03 80 views
0

我目前正在研究一個項目,我試圖重新創建this logo,但在靜態事物之上對齒輪進行動畫處理。現在,這是我到目前爲止創建...何時使用OpenGL顯示列表?

enter image description here

到目前爲止,這是好看,今天我移動到齒輪。在對齒輪進行一些研究時,我遇到了openGL中的顯示列表,並對其進行了一些瞭解。看起來它們對性能有好處,因爲它們減少了重複繪製內容的需要,比如當我在相機周圍移動相機和/或移動齒輪時。到目前爲止,我所擁有的只是一大堆構成標誌背景和字母的多邊形。彎曲的字母由大量三角形多邊形組成。

所以我的主要問題是,在我開始創建齒輪之前,我是否應該花時間爲已有的內容創建顯示列表?或者它沒有必要?我將我的齒輪從使用顯示列表的着名gears.c中取消,所以我很可能會在那裏使用它們。

+4

**從來沒有**他們已棄用爲維也納組織 – 2014-12-03 17:41:23

回答

4

這取決於你現在如何渲染對象。

如果您使用即時模式(glBegin/glVertex/glEnd),那麼包裝顯示列表將有所幫助。但是立即模式渲染和顯示列表都是從OpenGL 3開始折舊的,並且切換到頂點緩衝對象(VBOs)可能會提高性能(以重寫一些代碼爲代價)。

如果您已經在使用VBOs,那麼將這些調用包裝在顯示列表中可能沒有任何區別。

https://open.gl/是現代OpenGL的一個很好的教程。

+0

我正在教的類是與舊的OpenGL的東西教,因爲我猜它更容易掌握。無論如何,我們在即時模式中使用了很多東西,所以這就是我爲創建上述內容所做的。 – Scalahansolo 2014-12-03 18:05:20

+3

@SeanCallahan:我發現即時模式使事情變得複雜,並使OpenGL的內部工作更難以爲學生所理解。恕我直言,每個仍然在課堂上覆蓋即時模式的老師應該以激進的方式調整他的態度。 – datenwolf 2014-12-03 18:08:01