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