OpenGl の SwapBuffers に類似した Direct2d コマンドは何ですか? Delphi や CPP Builder などの VCL 環境で使用しています。ありがとう
2 に答える
d3ddev->Present(NULL, NULL, NULL, NULL);
Direct2D で同等のことを行うには、いくつかの方法があります。最も簡単な方法は、ID2D1HwndRenderTarget を作成することです。詳細については、 http://msdn.microsoft.com/en-us/library/windows/desktop/dd371275 (v=vs.85).aspxを参照してください。D2D1_HWND_RENDER_TARGET_PROPERTIES パラメーターに興味があるでしょう。これには D2D1_PRESENT_OPTIONS フィールドがあり、必要な動作に応じて異なる値に設定できます。詳細については、 http://msdn.microsoft.com/en-us/library/windows/desktop/dd368144 (v=vs.85).aspxを参照してください。これにより、SwapBuffers にほぼ相当するものは ID2D1RenderTarget::EndDraw になります。
もう 1 つのオプションは、Direct3D 相互運用を使用することです。この場合、DXGI サーフェイス レンダー ターゲットを作成します。(ドキュメントへのリンクを投稿しますが、2 つ以上のハイパーリンクを投稿するのに十分な StackOverflow の評判がありません。ドキュメントについては、Google の「ID2D1Factory::CreateDxgiSurfaceRenderTarget」を参照してください)。これにより、Direct2D を使用して 2D レンダリング コマンドをサーフェスに発行し、その後 Direct3D/DXGI を使用して提示することができます。これはより複雑ですが、柔軟性が向上します。