我一直在生產這個基於2d的基於tile的遊戲引擎,以用於幾個項目。在OpenGL中繪製多個四邊形的最有效方法
我有一個名爲「ScreenObject」類,它主要由
Dictionary<Point, Tile>
的點關鍵是要顯示在何處渲染屏幕上的瓷磚和瓷磚包含一個或多個紋理是在那一刻畫出來。這個ScreenObject是瓷磚將被修改,刪除,添加等等。
我在測試中繪製瓷磚的原始方法是遍歷ScreenObject並在每個位置分別繪製每個四邊形。從我看過的文字來看,這是一個巨大的資源浪費。在測試中速度並不是很慢,但是在完成動畫課程和效果課程後,我相信它會非常緩慢。
還有最後一件事,如果你不介意的話。 正如我之前所說的,Tile類可以包含多個紋理以在屏幕上的Point位置繪製。
我在這裏認識到可能有兩種選擇。爲每個要繪製的紋理添加一個四邊形,或者,以某種方式爲相同的四邊形使用多個紋理(如果可能的話)。即使每個圖塊只包含一個紋理,也會在屏幕上繪製64個四邊形。大多數瓷磚將包含2-5個紋理,所以使用這種方法總的四邊形數量將顯着增加。爲每個新紋理添加一個四邊形是否可行?還是我忽略了一個更好的方法來做到這一點?