Ve volání SpriteBatch.Begin se musí přidat jako jeden z argumentů SaveState. SpriteBatch si totiž sám změní nastavení vykreslování (třeba zruší depth buffer; pak se člověk diví, že jsou zadní strany objektů vpředu atd.).
spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.FrontToBack, SaveStateMode.SaveState);
Tímto voláním se stav a nastavení uloží, pak se vykreslí 2D věci, a po zavolání End se nastavení opět obnoví. Je to sice pomalejší, ale funkční - nemusíte nic řešit.
|