2013-01-17 17 views
1

我正在使用SDL(pygame)作爲cnc模擬器。最初,屏幕刷新是使用畫家的算法完成的(只是將所有東西都背對背地畫出來),但是大面積的繪製很慢。用於剪切檢測的數據結構

爲了加速重繪我只是刷新該在任何時刻改變屏幕的部分,所以如果一個數值改變其價值,只是其表面和通訊員子面,每面碰撞得到重繪。目前,即時對屏幕上的所有內容進行剪切測試以檢測碰撞表面,同時明顯更快,我認爲應該有數據結構和/或算法來避免測試屏幕上的所有表面。

+0

谷歌術語是「Z平面隱藏表面去除」 – wildplasser

+0

您是否使用精靈組? – ninMonkey

回答

0

您應該考慮使用quadtree來存儲每個曲面的邊界。這將在找到碰撞曲面時優化您的操作。

您可能會覺得question/answer有用。