Что такое команда Direct2d, аналогичная OpenGl's SwapBuffers? Я использую это в среде VCL, такой как Delphi и CPP Builder. Спасибо
Есть несколько способов сделать эквивалент в 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.
Другой вариант - использование Direct3D взаимодействия. В этом случае вы создаете цель рендеринга поверхности DXGI. (Я бы опубликовал ссылку на документы, но мне не хватает репутации StackOverflow, чтобы разместить более двух гиперссылок. Google "ID2D1Factory :: CreateDxgiSurfaceRenderTarget" для документов). Это позволяет использовать Direct2D для выдачи команд 2D-рендеринга на поверхность, но затем представлять с использованием Direct3D / DXGI. Это сложнее, но дает вам больше гибкости.
d3ddev->Present(NULL, NULL, NULL, NULL);