Direct3D 12 프로그래밍 가이드

Direct3D 12는 앱에서 하나 이상의 Direct3D 12 호환 가능 GPU가 설치된 PC의 그래픽 및 컴퓨팅 기능을 활용할 수 있는 API와 플랫폼을 제공합니다.

섹션 내용

항목 Description
Direct3D 12란? DirectX 12에서는 DirectX의 핵심에 해당하는 3D 그래픽 API인 Direct3D의 새로운 버전을 제공합니다. 이 버전의 Direct3D는 이전 버전보다 더 빠르고 더 효율적입니다. Direct3D 12에서는 풍부한 장면, 더 많은 개체, 더 복잡한 효과를 활용할 수 있고 최신 GPU 하드웨어를 완벽하게 활용할 수 있습니다.
Direct3D 12의 새로운 기능 최신 SDK 릴리스와 함께 제공되는 가장 중요한 새 문서에 대해 설명합니다.
Direct3D 12 이해 Windows 10 및 Windows 10 Mobile용 3D 게임과 앱을 작성하려면 Direct3D 12 기술의 기본 사항과 게임과 앱에서 이 기술을 사용하기 위한 준비 방법을 이해해야 합니다.
Direct3D 12의 작업 제출 Direct3D 앱의 CPU 효율성을 개선하기 위해 Direct3D 12는 더 이상 디바이스와 연결된 직접 컨텍스트를 지원하지 않습니다. 대신, 앱은 그리기 및 리소스 관리 호출을 포함하는 ‘명령 목록’을 기록한 후 제출합니다. 이 명령 목록은 여러 스레드에서 하나 이상의 명령 큐로 제출할 수 있으며, 명령 큐에서 명령 실행을 관리합니다. 이 기본적인 변경은 앱이 나중에 다시 사용할 수 있도록 렌더링 작업을 미리 컴퓨팅할 수 있도록 하여 단일 스레드 효율성을 높이고 렌더링 작업을 여러 스레드에 분산하여 다중 코어 시스템을 활용합니다.
Direct3D 12의 리소스 바인딩 바인딩은 리소스 개체를 그래픽 파이프라인의 셰이더에 연결하는 프로세스입니다.
Direct3D 12의 메모리 관리 D3D12로 이동하려면 메모리 상주를 적절하게 동기화 및 관리해야 합니다. 메모리 상주를 관리한다는 것은 훨씬 더 많은 동기화를 수행해야 함을 의미합니다. 이 섹션에서는 메모리 관리 전략과 힙 및 버퍼 내의 하위 할당을 다룹니다.
다중 어댑터 시스템 여러 어댑터가 설치된 시스템에 대한 Direct3D 12의 지원, 애플리케이션이 여러 GPU 어댑터를 명시적으로 대상으로 하는 시나리오 및 드라이버가 애플리케이션을 대신하여 여러 GPU 어댑터를 암시적으로 사용하는 시나리오에 대해 설명합니다.
다중 엔진 동기화 이 항목에서는 최신 GPU에 있는 여러 독립 엔진에 대한 액세스를 동기화하는 방법을 설명합니다.
렌더링 이 섹션에는 Direct3D 12(및 Direct3D 11.3)에 새로 도입된 렌더링 기능 관련 정보가 포함됩니다.
카운터, 쿼리 및 성능 측정 다음 섹션에서는 쿼리, 카운터, 타이밍 및 술어와 같은 성능 테스트 및 향상에 사용할 기능을 설명합니다.
Direct3D 11, Direct3D 10 및 Direct2D 작업 이 섹션에서는 이전 버전의 Direct3D 및 Direct2D, Direct3D 11on12 API 및 Direct3D 11에서 Direct3D 12로의 포팅 지침이 포함된 interop 기술을 설명합니다.
작업 샘플 Direct3D 12의 다양한 기능 사용을 보여 주는 작업 샘플을 다운로드할 수 있습니다.
D3D12 코드 연습 이 섹션에서는 샘플 시나리오의 코드를 제공합니다. 다양한 연습을 통해 각 시나리오에 대한 기본 구성 요소 코드 반복을 피하기 위해 기본 샘플에 추가해야 하는 코딩을 자세히 설명합니다.
Direct3D 12를 사용한 디버깅 및 진단 GBV(GPU 기반 유효성 검사)와 함께 Direct3D 12 디버그 계층을 가장 잘 사용하는 방법과 DRED(Device Removed Extended Data)를 사용하는 방법을 설명하는 항목이 포함됩니다.