0

我目前正在创建一个 D2DFactory

D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &Direct2DFactory);

并使用Direct2DFactory在我的主窗口上创建渲染目标:

Direct2DFactory->CreateHwndRenderTarget(
    D2D1::RenderTargetProperties(),
    D2D1::HwndRenderTargetProperties(WindowHandle, size),
    &RenderTarget
);

我试图从多个类绘制到这个窗口的多个部分,此刻,我持有所有这些类的列表并调用OnRender它们中的每一个并RenderTarget作为参数传递。

有一个更好的方法吗?我可以创建多个渲染目标,然后用我的 main 渲染这些渲染目标RenderTarget吗?

4

1 回答 1

1

你目前的问题是什么?传递这么多渲染目标参数很无聊?我认为这比创建多个渲染目标便宜,就像 Direct3D 应用程序中的 D3DDevice 对象一样,几乎每个可渲染类都需要一个设备对象来管理资源和进行渲染工作,最常见的方法是将设备参数传递给每个类而不是创建多个设备。所以我认为你正在路上。

于 2013-07-26T05:59:09.137 回答