Ответ 1
1) Является ли Windows 8 SDK предметом изучения, или DX 11 по-прежнему имеет значение?
Что случилось именно так: они устарели от некоторых вещей из автономного DirectX SDK, немного разделили его и объединили в Windows SDK. Также переименованы некоторые заголовки. Это все. Нечего учиться.
На самом деле вы должны отучить (то есть забыть) некоторые вещи. В частности, D3DX, среда эффектов и т.д. Поскольку они отрываются от нового SDK, вам нужно найти альтернативные библиотеки, чтобы их заменить (например, доступен источник Effect11, для загрузки растровой графики используйте DirectXTK или FreeImage, для сетки используйте Assimp; find или разворачивать собственные режимы спрайтов и шрифтов и т.д.).
ОК, нужно сказать, что они добавили DirectX 11.1 (Win8) и 11.2 (Win8.1). Но их функции слишком малы и очень специфичны, чтобы сказать, что вы должны изучить его.
2) Есть много отличных ресурсов для обучения DirectX SDK [...] Есть ли похожие материалы для Windows 8 Direct3D или просто msdn на данный момент?
Существует новый набор образцов в MSDN, например. Примеры приложений Windows Store. Все они перепутаны с другими (не DirectX) образцами Windows SDK, поэтому используйте поиск. Поскольку API сам по себе остается неизменным, нет ничего нового для настольных приложений. Вы можете легко адаптировать старые образцы для сборки без автономного DirectX SDK, заменив устаревшие вещи.
3) Будет ли мой драйвер на базе Windows 8 SDK работать только в Windows 8?
Нет, с этим SDK вы можете настроить таргетинг на все, начиная с Windows XP. Но вы портируете DirectX 11 API, это значит, что вашим приложениям потребуется хотя бы Vista SP2. Вы можете сохранить свой код DirectX 10 для Vista без каких-либо целей SP. И для запуска под Win XP вам понадобится путь кода DirectX 9. Или OpenGL во всех случаях, конечно;)
4) Любые из первых рук опыт/сравнения между двумя?
Ну, стиль устаревания Microsoft и перемещение вещей без выгоды иногда расстраивает. Но мы привыкли.
Портирование с DirectX 10 на DirectX 11 API очень простое. Но перенос расширений, таких как D3DX, является болью: посмотрите мой ответ здесь для некоторых полезных ссылок.
Мое собственное мнение состоит в том, что вы не можете полагаться на вторичные библиотеки Microsoft, поскольку их можно устаревать и сокращать в самый опасный момент. Но ваши решения не смогут. Поэтому, если у вас есть загрузчик текстур на основе FreeImage или в вашей собственной библиотеке, у вас есть указатель на данные растрового изображения и вы можете использовать его в любом месте: DirectX, OpenGL, прямо в окно прямо, независимо от того, что вы хотите. Если у вас есть собственный механизм эффекта шейдера, вы никогда не столкнетесь с проблемой невозможности использовать свою собственную структуру эффектов в приложениях Windows Store.
Я использую только основные API-интерфейсы Microsoft в любом месте и универсальные портативные сторонние библиотеки для чего-либо еще: это уменьшает связь и зависимость от одного решения и дает больше свободы. Поэтому, если один lib сломан, мне не нужно переписывать их всех.