D3D输出翻转并旋转

时间:2014-03-14 02:33:18

标签: winapi direct3d

我正在尝试使用ID3D11DeviceContext :: Map()函数进行D3D捕获。 但是输出被翻转并旋转。 这是默认行为吗?解决这个问题的最简单/有效方法是什么?

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

    // use desc.pData

    context->Unmap(target, subres);

由于

1 个答案:

答案 0 :(得分:1)

您的代码看起来很好。您很可能只是错误地解释了结果数据。纹理数据从左上角开始向右然后向下。例如,4x2纹理的布局如下所示:

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

或者,源纹理可能确实被翻转和旋转,并且只是在管道中的其他位置进行校正(例如,通过在顶点着色器中旋转)。