В течение последнего месяца или около того я пытался изучить DirectX. Итак, я переключался между DirectX 9 и 10. Одно из основных изменений, которые я видел в этих двух, - это обработка векторов в видеокарте.
Одно из кардинальных изменений, которое я заметил, это то, как вы заставляете GPU распознавать ваши структуры. В DirectX 9 вы определяете гибкие форматы вершин.
Ваша типичная настройка была бы такой:
#define CUSTOMFVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)
В DirectX 10, я полагаю, эквивалентно описание входной вершины:
D3D10_INPUT_ELEMENT_DESC layout[] = {
{"POSITION",0,DXGI_FORMAT_R32G32B32_FLOAT, 0 , 0,
D3D10_INPUT_PER_VERTEX_DATA, 0},
{"COLOR",0,DXGI_FORMAT_R32G32B32A32_FLOAT, 0 , 12,
D3D10_INPUT_PER_VERTEX_DATA, 0}
};
Я заметил в DirectX 10, что это более наглядно. Помимо этого, какие были сделаны радикальные изменения, и является ли синтаксис HLSL одинаковым для обоих?