Direct3D 시작
Direct3D는 렌더링 파이프라인을 사용하여 기본 형식을 그리거나 컴퓨팅 셰이더를 사용하여 병렬 작업을 수행하기 위한 하위 수준 API입니다.
Direct3D란?
Direct3D는 프레임당 삼각형, 선 또는 점을 그리거나 GPU에서 고도로 병렬 작업을 시작하는 데 사용할 수 있는 하위 수준 API입니다.
Direct3D:
- 일관된 추상화 뒤에 다른 GPU 구현을 숨깁니다. 하지만 여전히 3D 그래픽을 그리는 방법을 알아야 합니다.
- 별도의 그래픽별 프로세서를 구동하도록 설계되었습니다. 최신 GPU에는 수백 또는 수천 개의 병렬 프로세서가 있습니다.
- 병렬 처리를 강조합니다. 여러 렌더링 또는 컴퓨팅 상태를 설정한 다음 작업을 시작합니다. 작업에서 즉각적인 피드백을 기다리지 않습니다. CPU 및 GPU 작업을 혼합하지 않습니다.
어떤 Direct3D API를 사용할 수 있나요?
선택한 Direct3D API는 작성하려는 앱의 스타일에 따라 달라집니다.
- UWP 앱을 작성하려면 Direct3D 11, DXGI 및 HLSL API의 하위 집합을 사용합니다. 이러한 API 목록은 UWP 앱에 대한Win32 및 COM API를 참조하세요. Direct3D 11 Windows 스토어 앱을 작성하는 방법을 알아보려면 DirectX사용하여 3D 그래픽 만들기를 참조하세요.
- 데스크톱 앱을 작성하는 경우 Direct3D 11, DXGI 및 HLSL API의 전체 집합을 사용할 수 있습니다.
- Windows 8부터 데스크톱 앱용 XNA 프레임워크를 더 이상 적극적으로 지원하지 않습니다. 그러나 Windows 스토어 앱, UWP 앱 및 데스크톱 앱은 XAudio2 및 DirectXMath API의 전체 집합을 사용할 수 있습니다. 데스크톱 앱은 XInput API의 전체 집합을 사용할 수 있으며 Windows 스토어 앱 및 UWP 앱은 대부분의 XInput API를 사용할 수 있습니다. 자세한 내용은 XInput 버전 참조하세요.
어떤 Direct3D 버전인가요?
선택하는 Direct3D API 버전은 대상으로 지정하려는 운영 체제 및 하드웨어 수준에 따라 달라집니다.
- Windows 8 이상을 대상으로 하려면 Direct3D 11 API를 사용합니다.
- Windows XP 이상에서 Direct3D 9 API를 사용합니다. 모든 하드웨어는 Direct3D 9 API를 지원하며, 최신 Direct3D 11 수준의 하드웨어도 포함됩니다.
- Windows Vista 이상에서 Direct3D 10 API를 사용합니다. Direct3D 10 수준 이상 하드웨어만 Direct3D 10 API를 지원합니다.
- Windows 7 이상에서 Direct3D 10.1 및 Direct3D 11 API를 사용합니다. Windows Vista에서 Direct3D 10.1 및 Direct3D 11 API를 SP2(서비스 팩 2)와 함께 사용할 수도 있습니다.
Direct3D 렌더링 파이프라인
Direct3D 렌더링 파이프라인강 지류와 같은 여러 원본에서 데이터가 흐릅니다.
- 흐름의 일부 부분은 프로그래밍할 수 있습니다.
- 일부 부품에는 손잡이와 다이얼이 있습니다.
- 데이터 원본은 패킷(꼭짓점) 또는 인덱싱 가능한 배열(셰이더 리소스)의 직렬 스트림입니다.
- 꼭짓점 및 셰이더 리소스는 기본 형식으로 전달되므로 증폭할 수 있습니다.
- 기본 개체와 셰이더 리소스는 픽셀 연산으로 흘러 들어갑니다.
Direct3D 컴퓨팅 셰이더
Direct3D 컴퓨팅 셰이더사용하면 모든 GPU의 프로세서가 병렬로 실행됩니다. 따라서 컴퓨팅 셰이더는 강보다 연못처럼 동작합니다.