Device

2025. 5. 27. 20:30·DirectX/Basic

Device

Device는 GPU(그래픽 카드)를 추상화한 API 객체이며, DirectX에서 GPU가 할 수 있는 기능을 사용자가 접근할 수 있도록 도와주는 인터페이스입니다. Direct3D 11 기준으로 `D3D11CreateDevice`를 호출해서 생성할 수 있습니다.

ID3D11Device* device = nullptr;
ID3D11DeviceContext* context = nullptr

D3D11CreateDevice(
	nullptr,							// 기본 어댑터
    D3D_DRIVER-TYPE_HARDWARE,			// GPU 사용
    nullptr, 0,
    nullptr, 0,
    D3D11_SDK_VERSION,
    &device,							// 디바이스 생성
    nullptr,
    &context							// 디바이스 컨텍스트 생성
    )

Direct3D에서 디바이스는 그래픽 자원(버퍼, 셰이더 등)을 만들고 어떤 기능이 가능한지 GPU의 성능을 확인하고 디바이스 컨텍스트는 그렇게 만들어진 자원들을 그래픽스 파이프라인에 연결하고, 실제로 화면에 그림을 그리라는 명령을 전달하고 있습니다. 즉, 디바이스는 그래픽 렌더링에 필요한 자원을 준비하고 디바이스 콘텍스트는 준비된 자원을 사용해서 GPU가 작업을 하도록 지시합니다.

 

// 자원 생성(Device)
device->CreateBuffer(...);
device->CreateVertexShader(..);

// CPU->GPU 명령 전달(Device Context)
context->VSSetShader(...) // 셰이더 바인딩
context->Draw(...) //Draw명령 발생 -> GPU 전달

 

Direct3D의 디바이스(Device)는 `I3D11Device`로 표현되며 그래픽 자원의 생성과 그래픽스 파이프라인을 구성하고 셰이더를 생성하기 위한 용도로 사용하며 디바이스 콘텍스트(Device Context)는 `I3D11DeviceContext`로 그래픽 자원과 셰이더를 파이프라인에 연결하고 실제 렌더링을 수행하기 위하여 사용합니다.

'DirectX > Basic' 카테고리의 다른 글

DirectX - Input Assembler, IA 단계  (0) 2025.07.27
DirectX - 색상 표현의 기초  (3) 2025.07.27
DirectX - 메세지 처리부  (1) 2025.07.27
Buffer  (0) 2025.05.28
DirectX - Vertex  (1) 2025.01.15
'DirectX/Basic' 카테고리의 다른 글
  • DirectX - 색상 표현의 기초
  • DirectX - 메세지 처리부
  • Buffer
  • DirectX - Vertex
Mr.Vulpes
Mr.Vulpes
여우비가 내리는 시간입니다.
  • Mr.Vulpes
    여우비 개발실
    Mr.Vulpes
  • 전체
    오늘
    어제
    • Browse All Categories (81) N
      • Project (5) N
        • Unreal (5) N
        • DirectX (0)
      • Unreal (17)
        • Core Concepts (12)
        • Unreal For C++ (5)
      • C++ Programming (8)
        • C Basic (8)
      • DirectX (15)
        • Basic (11)
        • DirectX - Class (4)
      • Math & Physics (9)
        • Vectors (3)
      • Software Engineering (27)
        • Software Development Princi.. (24)
        • Design Pattern (3)
  • hELLO· Designed By정상우.v4.10.3
Mr.Vulpes
Device
상단으로

티스토리툴바