Я бы предложил изучить основы с использованием directx9, а затем быстро перейти к dx11. DirectX11 труднее начать, чем DirectX9, потому что он немного сложнее, но многие функции утилит в D3DX больше не существуют или перенесены в исходный код, такой как структура эффектов. Это неплохая вещь, но она значительно усложняет процесс обучения, так как вам нужно выучить гораздо больше вещей одновременно.
Потратьте 2 или 3 недели на изучение DX9, затем перейдите к DX11 для «настоящей» работы: P
Изучите базовый DX9, используя фиксированный конвейер и d3dx для загрузки моделей и т. Д. Это намного проще, чем DX11, и намного лучше задокументировано, и вы получите треугольник, а затем модель на экране намного быстрее , Поиграйте с этим, пока не полностью поймете основные понятия и преобразования.
Но затем перепишите все это, используя только шейдеры. В любом случае вам нужно будет использовать их в DX10 / 11, но намного легче учиться, когда у вас уже есть работающая структура кода, и намного проще получить это, работая в DX9.
Как только у вас это заработает, изучите DX11. Вам придется переключать математические библиотеки. Вам придется изобретать свои собственные форматы моделей и загрузчиков. Вам придется либо придумать собственную структуру эффектов, либо использовать пример, но все они стали намного проще, теперь вы уже знаете основы 3d и программирования шейдеров.