在目标视口中绘制

本文关键字:绘制 视口 目标 | 更新日期: 2023-09-27 17:56:47

几天前,我问了一个关于"如何在不重绘所有内容的情况下在第二个视口中显示"的问题。 答案之一是"你应该使用 renderTarget2D 并为精灵批处理提供矩形源",此解决方案没有Matrix相机。

spriteBatch.Draw(
    TheRenderTarget2D, 
    TheViewportTarget.Bounds, 
    TheRectangleSourceFromTheRenderTarget2D, 
    Color.White);

这很好用,但是我失去了很多渲染质量(因为我的游戏缩放和其他一些东西)。

问题是:如何使用camera.transform()在第二个视口中绘制以保持缩放质量。

希望你能帮到忙。

在目标视口中绘制

就是

这样:

    Graphics.Device = viewport1;
    spriteBatch.Begin(,,,,,Camera1.transformation);
    DrawScene();
    spriteBatch.End();
    Graphics.Device = viewport2;
    spriteBatch.Begin(,,,,,Camera2.transformation);
    DrawScene();
    spriteBatch.End();