我在C#,XNA中製作了一個minecraft-kinda引擎。它提供了很高的fps,並加載大塊w/o fps瀑布,但是當涉及到全局光線和陰影時 - 我遇到了問題。平滑頂點之間的顏色
基本上 - 在塊的模型創建循環
for (i = 0; i < 16; i++)
{
for(int j = 0; j < chunk_height; j++)
{
for(int k = 0; k < 16; k++)
{
// check if block (and 4 blocks around
// a current one (i, j, k), (i + 1, j, k),
// (i - 1, j, k), (i, j, k + 1), (i, j, k -1))
// are covered and put shadows to block face's vertex colors.
}
}
}
結果是老的Minecraft風格的影子:
(像以前那樣截圖與sync上取得同樣好的服務表現,沒有它的fps是〜350)
但我試圖實現minec筏的陰影,生物羣落顏色和光平滑 - >
我使用三角形列表,因爲它不可能使用三角形帶這樣的東西。 但在這種情況下,在任何立方體面之間頂點顏色不平滑。
所以問題是平滑這些頂點。顏色看起來像我的世界之一。
我做了一個簡單的算法,但它加載CPU太硬(vertices.Count^2 - sized loop)
所以當你旅行的世界和新加載的塊的陰影計算,PC滯後1-2秒,每一次,而在MC有沒有這樣的速度變慢。
(我需要平滑算法中以實時和onrun因爲主要的目標是打敗我的世界的表現(在我的世界目前的最低/中圖形的結果是實現(〜300個FPS與我的世界的70))
組塊的類(主要的問題),輔助類(其它的東西,在項目中使用),Block類(塊型基(用於創建和註冊塊類型),塊的模式發生器):
PS對不起,如果它不好,我的英語不是我的主要語言。
希望你不介意我的編輯。更清晰的格式將幫助您更好地關注您的問題。 –
謝謝你,我希望如此 – user1399159