在OpenGL中,一切都與主迴路的工作(據我所知)。如果你想繪製一個物體給定的時間,這是一個問題。現在,我做的是以下幾點:我測量我的應用程序的近似FPS,並設置一個計數器,以減少主循環中的每次迭代。當計數器達到0時,我停止繪圖。因此,例如,如果我想在屏幕上繪製一個物體2秒,並且我的FPS爲30,則將計數器設置爲60並繪製對象,直到計數器達到0.繪製X秒對象在OpenGL
這可以正常工作,但它不是大。例如,由於對象有時距主循環「遠」,所以很難寫出類似 drawObjectFor(object, time)
的東西。有沒有更好的方法來做到這一點?
是的,我也想過類似的東西,但我想知道是否沒有更直接的方法來實現它,例如通過創建獨立於程序其餘部分的新線程 – seb 2011-04-27 11:14:31
適當的實時循環對於OpenGL應用程序通常比線程更好(至少對於渲染部分 - 你可以使用線程來處理其他任何事情,注意線程同步)。然而,爲場景中的每個對象生成一個線程並不是真正可擴展的,並且對於所有消失的對象和其他任何對象都有一個線程,就像沒有多線程一樣好。 – Kos 2011-04-27 14:49:26