Foros - Stratos

Stratos => XNA => Mensaje iniciado por: jbosch en 18 de Noviembre de 2011, 10:40:45 AM

Título: SetRenderTarget dando por saco
Publicado por: jbosch en 18 de Noviembre de 2011, 10:40:45 AM
Hola,

Tengo un juego en el que quiero guardar un render en una textura. Este render contiene varios PNG con fondos transparentes. Consigo guardar el render en una textura, lo que ocurre es que cuando "pinto" esa textura posteriormente, el color "transparente" se ha convertido a un color púrpura.

El código es bien sencillo, a resumidas cuentas es esto:

--en la inicialización:
renderTarget = new RenderTarget2D(GraphicsDevice, Width, Height, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);

--en el draw:
GraphicsDevice.SetRenderTarget(renderTarget);
spriteBatch.Begin();
// Todos los spritebatch.draw que hagan falta...
spriteBatch.End();
GraphicsDevice.SetRenderTarget(null);

// Hago mis cosillas, y luego hago un render de la textura contenida en renderTarget.



Alguna idea? Saludos!
Título: Re: SetRenderTarget dando por saco
Publicado por: WaaghMan en 18 de Noviembre de 2011, 11:11:28 AM
Supongo que lo que pasa es que no haces clear del rendertarget, por lo que el color de fondo puede ser cualquier cosa. Prueba a hacer un GraphicsDevice.Clear() antes de pintarle las cosas.
Título: Re: SetRenderTarget dando por saco
Publicado por: jbosch en 18 de Noviembre de 2011, 01:38:07 PM
joer, me jode que fuera tan obvia la solución xD mira que me rompí el coco eh...

muchas gracias  :)
Título: Re: SetRenderTarget dando por saco
Publicado por: [EX3] en 19 de Noviembre de 2011, 06:18:38 PM
Gracias tambien por aqui, esto me estuvo dando quebraderos de cabeza en su momento y lo deje aparcado para verlo mas adelante como solucionarlo. No se me ocurrio lo del Clear() :)

Salu2...