DirectX
Unity поддерживает графику DirectX API, включая DirectX 11 и DirectX 12. Однако не все функции доступны в DirectX 11. Для получения дополнительной информации, см. Сравнение функций DirectX 11 и DirectX 12 в Unity.
Установите графику по умолчанию с API на DirectX
Вы можете выбрать DirectX 11 (DX11) или DirectX 12 (DX12) в качестве графики по умолчанию API в редакторе или автономном проигрывателе:
Откройте Настройки Игрока (меню: Изменить > Project Настройки > Игрок).
В разделе Другие настройки > Отображение отключите параметр Автографика API для платформы (Windows/Mac/Linux).
Выберите Добавить (+) кнопку, затем выберите Direct3D11 или Direct3D12 из списка поддерживаемых графических APIs.
Сравнение особенностей DirectX 11 и DirectX 12 в Unity
Следующие списки включают функции, введенные с DirectX 12 графики API, которые недоступны в DirectX 11.
| APIs | DirectX 11 | DirectX 12 |
|---|---|---|
| Динамическое разрешение | Не поддерживается | Поддерживаемые |
| Асинхронные вычисления | Не поддерживается | Поддерживаемые |
| Пропуск рендеринга | Не поддерживается | Поддерживаемые |
| Ускорение с помощью трассирования лучей | Не поддерживается | Поддерживаемые |
| Коллекция состояний графики | Не поддерживается | Поддерживаемые |
| XR фоновое изображение | Не поддерживается | Поддерживаемые |
| Режим потока отображения | DirectX 11 | DirectX 12 |
|---|---|---|
| Direct | Поддерживаемые | Поддерживаемые |
| Однорукий | Поддерживаемые | Поддерживаемые |
| Главный + рендер поток | Поддерживаемые | Поддерживаемые |
| Legacy jobified | Поддерживаемые | Поддерживаемые |
| Работы по графическому дизайну | Не поддерживается | Поддерживаемые |
| Сплит графика | Не поддерживается | Поддерживаемые |
| Особенности шейдера | DirectX 11 | DirectX 12 |
|---|---|---|
| Шейдер с лучевой трассировкой | Не поддерживается | Поддерживаемые |
Встроенное трассирование лучей (#pragma multi_compile _ UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING) |
Не поддерживается | Поддерживаемые |
16-разрядный (#pragma multi_compile _ UNITY_DEVICE_SUPPORTS_NATIVE_16BIT) |
Не поддерживается | Поддерживаемые |
Волновая функция (#pragma multi_compile _ UNITY_DEVICE_SUPPORTS_WAVE_ANY) |
Не поддерживается | Поддерживаемые |
| Universal Render Pipeline | DirectX 11 | DirectX 12 |
|---|---|---|
| Слияние растровых проходов | Не поддерживается | Поддерживается (Windows на ARM) |
| Родной RenderPass | Не поддерживается | Поддерживается (Windows на ARM) |
| Извлечение кадрового буфера | Не поддерживается | Поддерживается (Windows на ARM) |
| High Definition Render Pipeline | DirectX 11 | DirectX 12 |
|---|---|---|
| Аппаратное динамическое разрешение | Не поддерживается | Поддерживаемые |
| Асинхронные вычислительные шейдеры | Не поддерживается | Поддерживаемые |
| Обстановочная окклюзия с лучевой трассировкой | Не поддерживается | Поддерживаемые |
| Контактные тени с лучевой трассой | Не поддерживается | Поддерживаемые |
| Глобальное освещение с лучевой траекторией | Не поддерживается | Поддерживаемые |
| Отражения с лучевой траекторией | Не поддерживается | Поддерживаемые |
| Луч отслеживал тени | Не поддерживается | Поддерживаемые |
| Рекурсия с отслеживанием луча | Не поддерживается | Поддерживаемые |
| Рассеивание подповерхностного луча | Не поддерживается | Поддерживаемые |