게임 개발 자료/DirectX 스터디

DirectX 11 스터디 노트 메모. Device, Context (230812)

원소랑 2023. 8. 12. 00:32

Direct3D 11에서 디바이스는 ID3D11Device 인터페이스로 표시

 

대부분의 애플리케이션은 하나의 디바이스만 만든다.

아래 둘 중 하나를 호출해서 설치된 하드웨어 드라이버 중 하나에 대한 디바이스를 만든다.

D3D11CreateDevice

D3D11CreateDeviceAndSwapChain

 

D3D_DRIVER_TYPE 플래그를 사용하여 드라이버 유형을 지정

 

디바이스 컨텍스트는 파이프라인 상태를 설정하고 디바이스가 소유한 리소스를 사용하여 렌더링 명령을 생성하는 데 사용

Direct3D 11은 두 가지 유형의 디바이스 컨텍스트를 구현

하나는 "즉시 렌더링용"이고 다른 하나는 "지연된 렌더링용"

 

즉각적인 컨텍스트(ImmediateContext)는 드라이버에 직접 렌더링

즉각적인 컨텍스트를 가져오는 방법 2가지

D3D11CreateDevice 또는 D3D11CreateDeviceAndSwapChain 호출
ID3D11Device::GetImmediateContext 호출

 

지연된 컨텍스트(DeferredContext)는 명령 목록에 GPU 명령을 기록

주로 다중 스레딩에 사용되며 단일 스레드 애플리케이션에는 필요하지 않음.

지연된 컨텍스트는 일반적으로 기본 렌더링 스레드 대신 작업자 스레드(Worker Thread)에서 사용

ID3D11Device::CreateDeferredContext 호출

 

https://learn.microsoft.com/ko-kr/windows/win32/direct3d11/overviews-direct3d-11-devices-intro

 

Direct3D 11의 디바이스 소개 - Win32 apps

Direct3D 11 개체 모델은 리소스 만들기 및 렌더링 기능을 디바이스 및 하나 이상의 컨텍스트로 구분합니다. 이 분리는 다중 스레딩을 용이하게 하도록 설계되었습니다.

learn.microsoft.com

 

728x90
반응형