2013-07-25 105 views
0

我使用目前正在創建與多渲染目標

D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &Direct2DFactory); 

一個D2DFactory並使用Direct2DFactory我的主窗口中創建一個渲染目標:

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

我試圖從多個類畫這個窗口的多個部分,在一分鐘內,我拿着所有這些類的列表,併爲其中的每一個調用OnRender,並將RenderTarget作爲參數傳遞。

有沒有更好的方法來做到這一點?我可以創建多個渲染目標,然後使用我的主要目標RenderTarget渲染這些渲染目標?

回答

1

您目前的問題是什麼?無聊傳遞如此多的渲染目標參數?我認爲這比創建多個渲染目標便宜,就像Direct3D應用程序中的D3DDevice對象一樣,幾乎每個渲染類都需要一個設備對象來管理資源並執行渲染工作,最常見的方法是將設備參數傳遞給每個渲染目標而不是創建多個設備。所以我認爲你在路上。