Что такое эквивалент DirectX 11 для D3DCAPS9::MaxVertexIndex из DirectX 9

Я переношу программу DirectX 9 в DirectX 11. Как мне получить значение в DirectX 11, полученное с помощью

D3DCAPS9::MaxVertexIndex

в ДиректХ 9?

Заранее спасибо.


person Liton    schedule 17.07.2014    source источник


Ответы (1)


DirectX 11 использует «уровни функций», чтобы охватить большую часть возможностей устройства в установленной пошаговой манере. Вы должны прочитать об уровнях функций на MSDN и в этом Запись в блоге.

Уровень возможностей 9.1 поддерживает 16-битные индексы, а уровень возможностей 9.2 или выше поддерживает 32-битные индексы.

MaxVertexIndex по сути такой же, как «Max Primitive Count» в таблице уровней функций MSDN.

  • Уровень возможностей 9.1 требует MaxVertexIndex >= 65534
  • Для уровня функций 9.2 и 9.3 требуется MaxVertexIndex >= 1048575.
  • Уровень функций 10.0 или более поздний определяет максимальный индекс вершины как полные 32 бита (со значением 0xFFFFFFFF, зарезервированным для перезапуска полосы), т. е. 4294967295.

Кстати, есть несколько дополнительных функций, которые аппаратное обеспечение может предоставлять в дополнение к их определенным уровням функций, но на самом деле их всего несколько десятков во всей экосистеме. Вы используете CheckFeatureSupport для большинства из них. Вы можете использовать CheckFormatSupport для получения большого количества информации, но основная часть настроек здесь в любом случае строго определяется уровнем функций. Таблицы поддержки формата DXGI см. в MSDN.

person Chuck Walbourn    schedule 17.07.2014