.[ ČeskéHry.cz ].
aktualizace RenderTarget xna

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 4. listopad 2011, 14:34:06    Předmět: aktualizace RenderTarget xna Odpovědět s citátem

Ahoj snazim se aktualizovat hodnoty v Rendertargetu tim ze vykresluju spritebach a v effectu mam jenom pixel shader jenze jakmile spritebach.draw vykresluju do rendertargetu tak mi to vyhodi vyjimku XNA Framework HiDef profile requires TextureFilter to be Point when using texture format Vector4. snazil jsem se to vyresit pres GraphicsDevice.VertexSamplerStates[0] = SamplerState.PointWrap;
ale nepomohlo to, nevite cim to je popripade jak jinak muzu aktualizovat hodnoty v RenderTargetu na GPU ne pres GetData
Zde je kod:
kód:

        GraphicsDevice.SetRenderTarget(directionandtime);

        updateeffect.CurrentTechnique.Passes[0].Apply();
         
     
       
       spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque);

       GraphicsDevice.VertexSamplerStates[0] = SamplerState.PointWrap;
       GraphicsDevice.VertexSamplerStates[1] = SamplerState.PointWrap;
       GraphicsDevice.VertexSamplerStates[2] = SamplerState.PointWrap;

       GraphicsDevice.VertexSamplerStates[3] = SamplerState.PointWrap;


   
       graphics.DeviceReset += new EventHandler<EventArgs>       (GraphicsDevice_DeviceReset);

            spriteBatch.Draw(tempoaryDandT, new Rectangle(0, 0, 32, 32), Color.White);
            spriteBatch.End();
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 5. listopad 2011, 14:55:26    Předmět: dalsi chyba Odpovědět s citátem

tak uz se mi to nejak rozjelo ale mam tady problem s tim ze ten sprotebacth ten rendertarger spatne prochazi
Deklarace render targetu vypada takto
kód:
tempoaryDandT = new RenderTarget2D(GraphicsDevice, 32, 32, false, SurfaceFormat.Vector4, DepthFormat.None);

jenze jak pak v spritebacth nastavuju rectangle pro vykresleni do dalsiho rendertargetu tak mu musim zadat o hodne tak musim zadat o hodne vetsi rozmery jak 32*32
kód:

  spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque);//(SpriteSortMode.Immediate, BlendState.Opaque);

   
       GraphicsDevice.SamplerStates[0] = SamplerState.PointClamp;

   
     
       
       GraphicsDevice.SetRenderTarget(directionandtime);
       updateeffect.CurrentTechnique.Passes[0].Apply();
       spriteBatch.Draw(tempoaryDandT, new Rectangle(0, 0, 1024, 512), Color.White);
            spriteBatch.End();
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna