Как сохранить RenderTarget в XNA - PullRequest
0 голосов
/ 29 октября 2018

ELLO,

Я пытаюсь нарисовать на RenderTarget2D, а затем нарисовать это на экране. Проблема в том, что когда и где метод, в котором я это делаю, называется RenderTarget, назначенным для GraphicsDevice в SpriteBatch, который я использую, это не обязательно является буфером, поэтому вызов SetRenderTarget (null) его не обрезает. К сожалению, GraphicsDevice имеет только метод GetRenderTargets (), который возвращает массив RenderTargetBindings, который, в свою очередь, содержит только текстуры, в отличие от RenderTarget2D-s. Поэтому я не могу сохранить текущий используемый RenderTarget2D как RenderTarget2D перед переключением на новый.

код

public static void drawingMethod(SpriteBatch sb/*, stuff for drawing*/)
            {
            RenderTarget2D temp = new RenderTarget2D(sb.GraphicsDevice, X, Y);
            RenderTarget2D save = ????
            sb.GraphicsDevice.SetRenderTarget(temp);
            sb.Begin();

            //Drawing things here.

            sb.End();

            sb.GraphicsDevice.SetRenderTarget(save);

            sb.Begin();

            sb.Draw(temp, new Vector(0, 0), Color.White);

            sb.End();
            }

Есть идеи?

Ty
zoliking

...