多个渲染目标

时间:2013-07-25 15:58:43

标签: c++ direct2d

我目前正在创建一个带

的D2DFactory
D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &Direct2DFactory);

并使用Direct2DFactory在我的主窗口上使用:

创建渲染目标
Direct2DFactory->CreateHwndRenderTarget(
    D2D1::RenderTargetProperties(),
    D2D1::HwndRenderTargetProperties(WindowHandle, size),
    &RenderTarget
);

我正在尝试从多个类绘制到此窗口的多个部分,此时,我正在保存所有这些类的列表,并为每个类调用OnRender并传递{{1}作为一个参数。

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

1 个答案:

答案 0 :(得分:1)

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