Вывод D3D перевернут и повернут

Я пытаюсь получить захват D3D, используя функцию ID3D11DeviceContext::Map(). Но вывод переворачивается и вращается. Это поведение по умолчанию? Каков самый простой/эффективный способ исправить это?

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

    // use desc.pData

    context->Unmap(target, subres);

Спасибо


person vent    schedule 14.03.2014    source источник
comment
вы должны показать нам, как вы использовали desc.pData.   -  person zdd    schedule 20.03.2014


Ответы (1)


Ваш код выглядит нормально. Скорее всего, вы просто неправильно интерпретируете полученные данные. Данные текстуры начинаются в верхнем левом углу и идут вправо, а затем вниз. Например, макет текстуры 4x2 выглядит так:

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

В качестве альтернативы исходная текстура действительно может быть перевернута и повернута, и она просто корректируется в другом месте конвейера (например, путем поворота в вершинном шейдере).

person MooseBoys    schedule 14.03.2014