Поделиться через


Сопоставление объявлений D3D9 и D3D8

Эта таблица сопоставляет элементы объявления D3DVERTEXELEMENT9 с объявлением Direct3D 8.

Использование Direct3D 9 Индекс использования Direct3D 9 Direct3D 8
D3DDECLUSAGE_POSITION 0 D3DVSDE_POSITION
D3DDECLUSAGE_POSITION 1 D3DVSDE_POSITION2
D3DDECLUSAGE_NORMAL 0 D3DVSDE_NORMAL
D3DDECLUSAGE_NORMAL 1 D3DVSDE_NORMAL2
D3DDECLUSAGE_BLENDWEIGHT 0 D3DVSDE_BLENDWEIGHT
D3DDECLUSAGE_BLENDINDICES 0 D3DVSDE_BLENDINDICES
D3DDECLUSAGE_PSIZE 0 D3DVSDE_PSIZE
D3DDECLUSAGE_COLOR 0 D3DVSDE_DIFFUSE
D3DDECLUSAGE_COLOR 1 D3DVSDE_SPECULAR
D3DDECLUSAGE_TEXCOORD n D3DVSDE_TEXCOORDn

 

Если объявление используется с аппаратной обработкой вершин в драйвере Direct3D 7, среда выполнения Direct3D преобразует его в FVF со следующими правилами:

  • Следует использовать только поток 0 (это видно из ограничения MaxStreams).
  • Порядок элементов вершин должен совпадать с порядком битов FVF.
  • Пробелы в координатах текстуры не допускаются.
  • Любой элемент вершины, не описанный в таблице, не может быть преобразован в допустимый FVF для всех драйверов, предшествующих DirectX 8, и, следовательно, не может использоваться в этих драйверах.
  • Для элементов вершин с D3DDECLUSAGE_TEXCOORD допускается только D3DDECLTYPE_FLOAT2, если устройство не устанавливает ни один из D3DPTEXTURECAPS_PROJECTED или D3DPTEXTURECAPS_CUBEMAP ограничения.

Объявление вершин