2014-03-31 5 views
1

기본적으로 Direct2D 그림은 EndDraw 함수 뒤에 화면에 표시됩니다.Direct2D 렌더링 추적

디버깅 목적으로 드로잉 프리미티브를 그리면 화면에 그림이 표시되어야합니다.

Direct2D에서 가능합니까? 이러한 목적으로 GDI에서 GdiSetBatchLimit (1)을 사용했습니다.

+0

, 주기적으로 호출하여 오류를 분리 할 수 ​​있습니다 ['ID2D1RenderTarget :: Flush'] (http://msdn.microsoft. com/ko-ko/library/windows/desktop/dd316801 % 28v = vs.85 % 29.aspx). –

답변

0

당신은 D2D 대상에 GDI의 내용을 렌더링 할 수 있습니다 (Direct2D and GDI Interoperability Overview)

아니면 당신은 당신의 그림이 끝날 때까지 다음 하나의 원시 (다음 둘, 셋을 캡슐화하는 루프를 시도 할 수 있습니다 코드) 시작/끝내기. 아래 의사 코드는 것처럼 :이 화면에 표시되지는 않지만

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. 
}