2013-11-25 51 views
0

我正在創建一個遊戲,每個原始遊戲都需要自己的紋理,但我似乎無法弄清楚如何。我通過Google搜索,但它只顯示關於紋理混合的結果。你能告訴我如何在多個非索引基元上應用多個紋理嗎?或者他們必須被索引?如何將不同的紋理應用於多個基元? (Direct3D 9)

+0

您可以通過在每個DrawPrimitives之前調用SetTexture來更改紋理。有什麼問題? – Dish

+0

謝謝。我之前嘗試過類似的東西,但我想我錯了。請張貼這個答案,以便我可以將其標記爲已接受。 – cruelcore1

+0

根據不同紋理的數量,這意味着您將有大量的繪製調用。通常情況下,您會盡可能減少平局數量。 – cdoubleplusgood

回答

1

您可以通過在每個DrawPrimitives之前調用SetTexture來更改紋理。

0

我認爲使用UV atlas可以解決您的問題。地圖集基本上是由較小的紋理組成的大質地,如照片拼貼。頂點的UV座標當然是指大的紋理,但是如果你知道「小」紋理的位置,這很容易計算。
當然,你必須首先創建地圖集紋理。

+0

U和V值是浮點數,它們不夠方便我所需要的精度。 – cruelcore1

+0

這意味着你有太多的紋理,或者你的紋理太大以至於float的精度不允許在atlas紋理中尋址特定的像素? – cdoubleplusgood

+0

浮點不足以處理地圖集紋理中的特定像素。也許如果它是一個小的地圖集,但不是。是的,我需要很多紋理。 – cruelcore1

相關問題