Unity는 DirectX 11과 DirectX 12를 모두 포함한 DirectX 그래픽스 API를 지원합니다. 그러나 DirectX 11에서는 모든 기능을 사용할 수 있는 것은 아닙니다. 자세한 내용은 Unity의 DirectX 11 및 DirectX 12 기능 비교를 참조하십시오.
에디터 또는 스탠드얼론 플레이어에서 기본 그래픽스 API로 DX11(DirectX11) 또는 DX12(DirectX12) 중에 선택하여 설정할 수 있습니다.
Player 설정(메뉴: Edit > Project Settings > Player)을 엽니다.
Other Settings > Rendering 섹션으로 이동하여 Auto Graphics API for a platform (Windows/Mac/Linux) 옵션을 비활성화합니다.
Add(+) 버튼을 선택한 다음, 지원되는 그래픽스 API 리스트에서 Direct3D11 또는 Direct3D12를 선택합니다.
다음 리스트에는 DirectX 11에서는 사용할 수 없는 DirectX 12 그래픽스 API에 도입된 기능이 나와 있습니다.
| API | DirectX 11 | DirectX 12 |
|---|---|---|
| 다이내믹 해상도 | 미지원 | 지원됨 |
| 비동기 연산 | 미지원 | 지원됨 |
| 네이티브 렌더 패스 | 미지원 | 지원됨 |
| 레이트레이싱 가속화 | 미지원 | 지원됨 |
| 그래픽스 상태 컬렉션 | 미지원 | 지원됨 |
| XR 포비티드 렌더링 | 미지원 | 지원됨 |
| 렌더 스레딩 모드 | DirectX 11 | DirectX 12 |
|---|---|---|
| 직접 기여 | 지원됨 | 지원됨 |
| 싱글 스레드 | 지원됨 | 지원됨 |
| 메인 + 렌더 스레드 | 지원됨 | 지원됨 |
| 잡 시스템이 적용된 레거시 | 지원됨 | 지원됨 |
| 네이티브 그래픽스 잡 | 미지원 | 지원됨 |
| 분할 그래픽스 잡 | 미지원 | 지원됨 |
| 셰이더 기능 | 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) |
미지원 | 지원됨 |
| 유니버설 렌더 파이프라인 | DirectX 11 | DirectX 12 |
|---|---|---|
| 래스터 패스 병합 | 미지원 | 지원됨(ARM 기반 Windows) |
| 네이티브 렌더 패스 | 미지원 | 지원됨(ARM 기반 Windows) |
| 프레임버퍼 페치 | 미지원 | 지원됨(ARM 기반 Windows) |
| 고해상도 렌더 파이프라인 | DirectX 11 | DirectX 12 |
|---|---|---|
| 하드웨어 다이내믹 해상도 | 미지원 | 지원됨 |
| 비동기 연산 셰이더 | 미지원 | 지원됨 |
| 레이트레이싱 기반 앰비언트 오클루전 | 미지원 | 지원됨 |
| 레이트레이싱 기반 컨택트 그림자 | 미지원 | 지원됨 |
| 레이트레이싱 기반 전역 조명 | 미지원 | 지원됨 |
| 레이트레이싱 기반 반사 | 미지원 | 지원됨 |
| 레이트레이싱 기반 그림자 | 미지원 | 지원됨 |
| 레이트레이싱 기반 재귀 | 미지원 | 지원됨 |
| 레이트레이싱 기반 피하 산란 | 미지원 | 지원됨 |