[수정]
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 하는 등의 동작을 수행할 때 사용됨
[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 |