2014-07-10 39 views
0

我正在進入3D圖形,所以我試圖做的是一個簡單的Minecraft克隆。在Minecraft中,某些塊類型在每個面上都有不同的紋理。但是,當渲染這些多紋理對象時,這似乎大大降低了我的幀率。我已經實施了一些措施來控制渲染哪些對象,但問題仍在發生,如以下短視頻所示:http://www.pyraetos.net/lag.avi在我的LWJGL程序中導致幀率低的原因是什麼?

我知道Minecraft只有一個紋理文件,而「個體」紋理用紋理座標產生。這可能與它有關嗎?先謝謝你。

編輯:如果你看視頻,FPS計數器是窗口標題的一部分。

回答

3

我認爲你的猜測很可能是正確的。如果lwjgl不得不一直卸載並重新加載不同的紋理,那麼繪製東西需要更長的時間。不過,您不必將所有紋理都放在一個文件中。如果你在不同的文件中有很多紋理,你可以把它們拼接成lwjgl中的一個紋理。

+0

這將是最可取的事情。我怎樣才能做到這一點?我正在使用光滑的庫進行加載。 –

+0

不幸的是,據我所知,沒有辦法做到這一點光滑。我沒有用太多,但據我所知,它只能將一個文件加載到紋理中。除非我錯了,否則使用光滑的唯一方法是將所需的圖像加載到java的'BufferedImage'中,將它們合併成單個圖像,然後將該圖像保存爲新文件,以便加載它變成光滑的紋理。 – Carmeister

相關問題