Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
pepekpepek
Založen: 30. 09. 2011 Příspěvky: 7
|
Zaslal: 4. listopad 2011, 14:34:06 Předmět: aktualizace RenderTarget xna |
|
|
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 |
|
|
pepekpepek
Založen: 30. 09. 2011 Příspěvky: 7
|
Zaslal: 5. listopad 2011, 14:55:26 Předmět: dalsi chyba |
|
|
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 |
|
|
|
|
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