我目前正在创建一个带
的D2DFactoryD2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &Direct2DFactory);
并使用Direct2DFactory
在我的主窗口上使用:
Direct2DFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(WindowHandle, size),
&RenderTarget
);
我正在尝试从多个类绘制到此窗口的多个部分,此时,我正在保存所有这些类的列表,并为每个类调用OnRender
并传递{{1}作为一个参数。
有更好的方法吗?我可以创建多个渲染目标,然后使用我的主RenderTarget
渲染这些渲染目标吗?
答案 0 :(得分:1)
你目前的问题是什么?无聊传递这么多渲染目标参数?我认为这比创建多个渲染目标便宜,就像Direct3D应用程序中的D3DDevice对象一样,几乎每个可渲染类都需要一个设备对象来管理资源并进行渲染工作,最常见的方法是将一个设备参数传递给每个而不是创建多个设备。所以我认为你正在路上。