Directx 跟踪Direct2D渲染

Directx 跟踪Direct2D渲染,directx,win32gui,direct2d,Directx,Win32gui,Direct2d,默认情况下,Direct2D图片显示在函数EndDraw之后的屏幕上 出于调试目的,我需要在绘制任何绘图原语后在屏幕上显示图片 这在Direct2D中可能吗? 出于这些目的,我在GDI中使用了GdiSetBatchLimit1,这是不可能的。您需要围绕每个基本体开始绘制/结束绘制。如果有图层或剪辑,也需要在每个基本体周围设置并删除它们 您可以在D2D目标上呈现GDI内容 或者,您可以尝试使用一个循环,该循环将封装一个基本体,然后封装两个基本体,然后封装三个基本体,直到您的图形代码在Begin/e

默认情况下,Direct2D图片显示在函数EndDraw之后的屏幕上

出于调试目的,我需要在绘制任何绘图原语后在屏幕上显示图片

这在Direct2D中可能吗?
出于这些目的,我在GDI中使用了GdiSetBatchLimit1,这是不可能的。您需要围绕每个基本体开始绘制/结束绘制。如果有图层或剪辑,也需要在每个基本体周围设置并删除它们


您可以在D2D目标上呈现GDI内容

或者,您可以尝试使用一个循环,该循环将封装一个基本体,然后封装两个基本体,然后封装三个基本体,直到您的图形代码在Begin/end中结束。就像下面的伪代码一样:

for (i=0; i<number of primitives; i++)
{
    Begindraw;
    Drawprimitive0;
    if (i == 0)
    {
        EndDraw();
        continue;
    }

    Drawprimitive1;
    if (i == 1)
    {
        EndDraw();
        continue;
    }

    Drawprimitive2;
    if (i == 2)
    {
        EndDraw();
        continue;
    }

    etc.
}

虽然它不会显示在屏幕上,但您可以通过定期调用来隔离错误。