상세 컨텐츠

본문 제목

[DirectX11] Device & Device Context

DirectX 11

by 이나시오- 2024. 8. 18. 14:48

본문

[수정]

24.08.23 요약 추가

 

 DirectX를 통해 그래픽카드를 제어해서 렌더링하기 위해서는 Device와 Device Context가 필요하다. Device와 Device Context가 각각 무엇이고 어떤 역할을 하는 지 간단하게 정리해보겠다.

 

Device

 Device는 DirectX의 각종 리소스를 생성하는데 사용되는 객체이다. 텍스쳐, 버퍼, 쉐이더 등 DirectX를 이용할 때 어떤 객체를 생성할 때 항상 사용되는 객체라고 생각하면 된다. D3D11CreateDevice() 또는 D3D11CreateDeviceAndSwapChain()을 호출해서 생성할 수 있다. 추가로, 이 함수들을 호출하면 후술할 Device Context도 동시에 생성된다.

 

Device Context

 Device Context는 렌더링 작업을 제어하고, GPU에 명령을 내릴 때 사용되는 객체이다. 나중에 정리할 Graphics Pipeline을 설정하고, 화면에 렌더링할 때 사용되는 객체이다. 예를 들어 쉐이더와 버퍼를 설정하거나 Draw()나 DrawIndexed()를 통해 Backbuffer에 렌더링하는 등의 작업을 수행할 수 있다.

 

요약

 Device = DirectX의 리소스를 생성할 때 사용되는 객체

 Device Context = 렌더링을 수행하는 객체, 뭔가 화면에 그릴 때 사용됨. 어떻게 렌더링할 건지 관련된 세팅하고, 뭔가를 화면에 렌더링하고, 화면을 clear 하는 등의 동작을 수행할 때 사용됨

'DirectX 11' 카테고리의 다른 글

[DirectX11] Graphics Pipeline 1 - Input Assembler  (0) 2024.08.24
[DirectX11] Render Target View, Depth Stencil View  (0) 2024.08.23
[DirectX11] ComPtr  (0) 2024.08.23
[DirectX11] SwapChain  (0) 2024.08.18
[DirectX11] DirectX  (0) 2024.08.08

관련글 더보기