2014-03-14 160 views
0

我想使用ID3D11DeviceContext :: Map()函數獲取D3D捕獲。 但輸出翻轉和旋轉。 這是默認行爲嗎?解決這個問題的最簡單/有效的方法是什麼?D3D輸出filpped和旋轉

D3D11_MAPPED_SUBRESOURCE desc; 
    hr = context->Map(pRes, subres , D3D11_MAP_READ_WRITE, 0, &desc); 

    // use desc.pData 

    context->Unmap(target, subres); 

感謝

+0

你應該告訴我們你是如何使用desc.pData的。 – zdd

回答

1

您的代碼看起來不錯。很可能你只是錯誤地解釋了結果數據。紋理數據從左上角開始,然後向右,然後向下。例如,一個4×2的紋理的佈局看起來像這樣:

[0][1][2][3] 
[4][5][6][7] 

可替換地,源紋理可能確實被翻轉並旋轉,並且被簡單地(例如,通過在頂點着色器旋轉)在管線中的其他地方進行校正。