所以我一直試圖圍繞着XNA 2D中的着色器。XNA 2D着色器和SpriteSortMode
http://msdn.microsoft.com/en-us/library/bb313868(v=xnagamestudio.31).aspx
這個環節上面說,我需要使用SpriteSortMode.Immediate,這是我的問題,因爲我已經開發了依靠延遲渲染(SpriteSortMode.BackToFront)視差系統。
有人可以向我解釋SpriteSortMode在着色器中的重要性,如果立即是強制性的,我可以做的任何事情來維護我當前的系統,以及其他一般情況,以幫助我更好地理解這一點?此外,我的遊戲運行多個SpriteBatch.Begin()/ End()調用(用於繪製背景,然後是遊戲,然後是前景和HUD等)。我注意到布魯姆的例子在這種情況下不起作用,我猜它與此有關。
一般來說,我在理解這些概念時遇到了一些麻煩。我知道着色器是什麼以及它是如何工作的,但我不知道它如何與XNA進行交互以及在那裏發生了什麼。我真的很感激一些啓發。 :)
謝謝!
這個問題的答案可能有一些幫助:http://gamedev.stackexchange.com/questions/21220/how-exactly-does-xnas-spritebatch-work –
我相信,如果你想着色器應用到屏幕上,那麼你不需要使用立即渲染,但是如果你想要它作爲每個精靈效果的話。 –