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 앱 및 데스크톱 앱은 XAudio2DirectXMath API의 전체 집합을 사용할 수 있습니다. 데스크톱 앱은 XInput API의 전체 집합을 사용할 수 있지만 Windows 스토어 앱 및 UWP 앱은 대부분의 XInput API를 사용할 수 있습니다. 자세한 내용은 XInput 버전을 참조하세요.

어떤 Direct3D 버전인가요?

선택하는 Direct3D API 버전은 대상으로 지정하려는 운영 체제 및 하드웨어 수준에 따라 달라집니다.

  • Windows 8 이상을 대상으로 지정하려면 Direct3D 11 API를 사용합니다.
  • Windows XP 이상에서 Direct3D 9 API를 사용합니다. 모든 하드웨어는 최신 Direct3D 11 수준 하드웨어인 Direct3D 9 API를 지원합니다.
  • 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의 프로세서가 병렬로 실행됩니다. 따라서 컴퓨팅 셰이더는 강보다 연못처럼 동작합니다.