Spritebatch a 3D v XNA   zodpovězená otázka

VB.NET, XNA

Dobrý den,

potřeboval bych poradit. Když se pokouším v XNA Game vykreslit 3D prostředí, vše funguje, jak má. Když se ale pokouším přes toto prostředí vykreslit pomocí SpriteBatch nějaký text, terén se změní, například místo textury trávy se zobrazí jen zelená (beze stínů) a levém "horním" rohu se nakreslí jen několik zeleno-bílých pruhů... Nevíte, čím by to mohl být?

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

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.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback