다음을 통해 공유


Direct3D 12 프로그래밍 가이드

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

이 섹션에서는

주제 묘사
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 사용하여 디버깅 및 진단 GPU 기반 유효성 검사(GBV)와 함께 Direct3D 12 디버그 계층을 가장 잘 사용하는 방법 및 DRED(디바이스 제거 확장 데이터)를 사용하는 방법을 설명하는 항목이 포함되어 있습니다.