Обучение DirectX в 2013 году

Я знаю, что есть несколько тем по этому вопросу, но я хочу уточнить, что ищет Iam.

Итак, я изучил OpenGL и получил основы шейдеров (программируемый конвейер), вершинные буферы, буферы индексов, все вместе так называемые "Modern OpenGL".

Мне интересно, существует ли такой термин для DirectX.

Существует несколько мнений о том, какую версию DirectX выбрать. 9 работает практически на всех ПК с ОС Windows, а 11 - на новые графические процессоры и Windows Vista +.

Мой GPU поддерживает 9, в то время как моя ОС поддерживает 11. Должен ли я выбирать ускоренное программное обеспечение 11 или аппаратное ускорение 9?

Является ли DirectX9 чем-то вроде устаревшего OpenGL? Так что, если я изучу DirectX9 вместо 11, это потрачено впустую или это можно использовать? Другими словами. Предлагает ли DirectX9 то, что предлагает современный OpenGL?

Если это так, какие источники (учебники/книги/видео) следует использовать для получения базовых навыков использования шейдеров, буфера и т.д. в DirectX? Например, в одном учебнике я нашел эту строку: d3dDevice- > BeginScene(); И это очень напоминало мне устаревший OpenGL. Я не хочу изучать ультрасовременный DirectX, но я хочу сделать хорошую торговлю между совместимостью и современными концепциями.

В другой теме я нашел эту книгу: http://www.amazon.com/dp/1598220160/?tag=stackoverfl08-20

Но мне немного страшно, если я трачу свое время на устаревшие старые вещи.

Подводя итог, мне нужна помощь, я действительно не могу составить представление о том, куда идти.

Надеюсь, вы получите мои очки.

Ответ 1

Я бы порекомендовал вам скачать DirectX SDK June 2010.

DirectX позволяет вам выбрать, какую версию DirectX вы хотите использовать при создании устройства, поэтому не беспокойтесь об этом.

Это делается в D3D11CreateDeviceAndSwapChain в D3D_FEATURE_LEVEL.

Указатель на массив из D3D_FEATURE_LEVELs, которые определяют порядок уровней объектов, чтобы попытаться создать.

Я бы порекомендовал вам скачать DirectX SDK June 2010 и проверить некоторые образцы, которые поставляются вместе с ним. Чем вы должны решить, как вы хотите двигаться вперед.

Для книг я бы рекомендовал Введение в 3D-программирование игр с DirectX 11 или DirectX 10 или Directx 9. Какую из версий вы решаете.

Ответ 2

Я бы не стал пытаться кодировать DirectX 11 с использованием процессора, который не имеет аппаратной поддержки для него. Это будет почти приятный опыт. Вместо этого я либо куплю новую графическую карту (не обязательно очень дорого), либо код в DirectX 9.

Задняя сторона кодирования в DirectX 9 заключается в том, что она сильно отличается от 10/11. Итак, обучение 9 действительно не делает вас много, если вы когда-нибудь захотите узнать 10/11, за исключением реальных основ.