Мой компьютер поддерживает до DirectX 10, но я очень заинтересован в программировании в DirectX и понимаю, что я должен изучить передовые технологии. Я также понимаю, что DirectX 11 имеет уровни функций, чтобы я мог программировать в DirectX 11 на своем компьютере. Мой вопрос в том, имеет ли смысл программировать в DirectX 10, пока я не куплю новый компьютер, или я должен использовать DirectX 11 с уровнями функций? Смогу ли я проверить возможности DirectX 11 на моем компьютере вообще (программное обеспечение является опцией, но супер медленным)? Пожалуйста, дайте мне знать о моих возможных вариантах в этой ситуации.Совместимость DX11
ответ
Вы можете запрограммировать использование Direct3D 11.0 API в Windows 10, Windows 8.x, Windows 7 или Windows Vista с пакетом обновления 2 (SP2) + KB971644. Это включает в себя API Direct3D 11, а также поддержку функций 11.0, 10.1, 10.0, 9.3, 9.2 и 9.1.
Вы можете запрограммировать API Direct3D 11.1 на Windows 10, Windows 8.x и Windows 7 с пакетом обновления 1 (SP1) + KB2670838. Это включает в Direct3D, 11.1 API-интерфейсы, но Feature Level 11.1 поддерживается только на Windows, 8.x и для Windows 10.
Вы можете запрограммировать против Direct3D 11.2 API в ОС Windows 8.1 или Windows, 10.
Вы можете использовать Direct3D 11.3 или Direct3D 12.0, а также функции Уровни 12.0 и 12.1 в Windows 10.
Если ваше физическое оборудование поддерживает Direct3D 10.0, вы можете использовать только аппаратные средства Feature Level 10.0, 9.3, 9.2 и/или 9.1. В зависимости от вашего оборудования и драйвера у вас может быть или не быть поддержки DirectCompute 4.0 в этой части.
На самом деле нет оснований использовать Direct3D 10 API сегодня, и для Direct3D 11 существует намного больше кода поддержки, чем для Direct3D 10. См. Living without D3DX и Getting Started with Direct3D 11.
UPDATE: Добавлены заметки о Windows 10.
- 1. Минимальные размеры буфера DX11
- 2. Использование DX11 и DXVA2
- 3. Необычное поведение камеры, DX11
- 4. Невидимая геометрия в DX11
- 5. Запуск DX11 в браузере
- 6. DX11 созданные текстуры белые
- 7. DX11 Буфер динамического размера
- 8. DX11 Unresolved Externals
- 9. DirectX обратная совместимость
- 10. DX11 Losing Instance Buffer Data
- 11. Compute Shader основы в DX11
- 12. cbuffer неожиданный токен Примеры DX11
- 13. Совместимость с Chromebook-совместимость
- 14. Использование нескольких вершинных буферов в DX10/DX11
- 15. DX11 Compute Shader пишет только один индекс
- 16. Ошибка вычисления в вычислительном шейдере. HLSL DX11
- 17. Написать в DX11 BackBuffer от C++ AMP
- 18. DX11 HLSL Вторичные текстуры Координаты Потеряно
- 19. DX11 добавить простой черный ящик на текстуре
- 20. Тени из нескольких источников света (DX11)
- 21. Как включить функциональный уровень DX11 11.0
- 22. Обновление объявления float4 от dx9 до dx11
- 23. Невозможно создать целевой вид рендеринга DX11
- 24. Поделитесь поверхностью между D2D, DX10, DX11
- 25. Совместимость с Simulink обратная совместимость
- 26. Интерфейс android AIDL, совместимость и обратная совместимость
- 27. Совместимость Excel и совместимость с Apple Numbers
- 28. совместимость strtotime
- 29. Метеорная совместимость
- 30. Совместимость экрана
Так я могу только проверить свой код DirectX 11 на программное обеспечение – user2226786
Что вы подразумеваете под кодом «DirectX 11»? Если вы создадите свои шейдеры с профилем 9.x или профилем 4_0, они могут работать на оборудовании DirectX 10. Это будет поддерживать * больше * оборудования, чем API Direct3D 10. Какую функцию вы планируете, в частности, для того, чтобы требовалось 11.0-классное оборудование? –
Я действительно не уверен, но я попробовал запустить небольшой образец DirectX 11 некоторое время назад, и это не сработало. Что вы говорите, так это то, что я могу использовать каждую функцию DirectX 11, но функции затенения на моем оборудовании? – user2226786