2011-10-12 49 views
0

這是一個關於3D編程的總體問題,但我正在學習OpenGL,如果這使得答案有所不同。我想知道的是,如果顯示圖像的所有工作總是必須從頭開始,對於每個新幀,或者如果有一些方法可以保存在渲染下一幀時可以重用的中間數據,而不必重新計算?假設你站在一座山的旁邊,山的另一邊的東西被山遮住了,山的另一邊可能有很多東西,根本不需要呈現,因爲它無法看到。現在假設你的角色不能走得特別快,那麼山下另一邊的東西就不可能在下一幀中看到,或者甚至可能不會在接下來的100幀中看到。是否有可能避免在每一幀中進行相同的遮擋檢查?OpenGL中的每幀操作?

+0

你應該接受你的接受率,給別人回答你的問題的動機。儘管你的問題並不是很糟糕,但是可能有點太寬泛,無法得到一個正確的答案。 –

回答

0

您提到的問題被稱爲「隱藏表面去除」和「遮擋剔除」。

在實時圖形中,通常從頭開始重新渲染每個幀。然而,每個好的渲染器都會忽略所有明顯不可見的東西。有很多這樣的算法。