이론/DirectX 11

DirectX 11 1. DirectX 설명

월러비 2024. 9. 3. 13:48

DirectX 설명

  • DirectX 란? : 게임을 개발하기 위한 SDK다.
    • SDK : Software Develpe Kit
    • 흔히, 예전에는 API라고 불렸다.
    • SDK나 API나 비슷한 기능으로 , 어떤 프로그래밍을 하기 위해서 도와주는 도구 집합체 다.
  • 흔히 DirectX SDK 라고 하면 DirectX로 게임을 개발하는데 있어 도움이 되는 ‘함수’들이나 ‘클래스’들을 모아놓은 ‘라이브러리’같은 집합체이다.
    • 다른 것으로는 Window SDK같은 경우는 윈도우용 프로그램을 개발하기 위해 도움을 주는 도구이다.
  • 라이브러리 : 개발에 도움이 되는 함수들이나 클래스들의 집합체이다.
    • SDK나 API도 비슷한 의미이다.
    • 여러 종류의 ‘컴포넌트’들이 모여져있다.
    • 컴포넌트 종류
      • Direct3D ‘ 2D : 3D와 2D를 그릴 수 있는 기능들이 모여져있다.
      • Direct Write : 폰트나 글자를 출력할 수 있는 기능들이 모여져있다.
      • DX GI : 그래픽 하드웨어와 통신을 위한 기능이다.
        • 어떤 그래픽 카드여도 상관없이 일관적으로 프로그래밍 해줄 수 있는 ‘추상화된 API’ 정도로 생각해 둔다.
      • Direct Compute ; GPU를 이용해서 그래픽 뿐만이 아니라 물리 , 기타 연산을 할 수 있게하는 기능들이다.
        • CPU에서 처리할것을 GPU에서 빠르게 처리할 수 있도록 해주는 라이브러리다.
      • Direct X Audio 2 : 소리 출력 기능들이 모여져있다.
      • RayTracing : 광선 추적 기능들이 모여져있다.
      • ML (머신러닝) : 머신러닝을 지원해주는 기능들이 모여져있다.
      • Physics : 물리 연산을 지원해주는 기능들이 모여져있다.
    • RayTracing과 ML , Physics 은 DirectX 12부터 포함되어있다.
  • Frame work : 프로그램 개발의 기반(틀)으로 알아둔다.
    • 라이브러리보다 큰, 혹은 특정 상황에 맞춘 플랫폼, 시스템 으로 생각하면 된다.
  • 정리
    • DirectX 개발에 도움이 되는 함수들이나 클래스들의 집합체 : 라이브러리
    • DirectX 개발에 도움이 되는 ‘라이브러리’의 집합 : SDK
    • 통틀어서 부르는 명칭 : DirectX 라고 이해한다.

DirectX의 역사

  • DirectX 8 : 2D와 3D가 동시에 지원되던 버전이다.
    • CPU 렌더링이 중점이다.
  • DirectX 9 : ‘쉐이더’가 본격적으로 지원되는 버전이다.
    • CPU 렌더링과 함께 ‘GPU 렌더링’이 함께 지원된다.
    • 쉐이더에 대한 구조를 명확히 정립하지 못한 단계다.
    • 렌더링 파이프라인이 복잡하다.
  • DirectX 10, 11 : GPU 렌더링이 중점이다.
    • 쉐이더가 없으면 렌더링을 할 수 없다.
    • 10 : Geometry Shader (GS)가 지원되기 시작하는 버전이다.
    • 11 : Tessellation이 지원되기 시작하는 버전이다.
      • window 7까지만 지원이 된다.
  • DirectX 12 : Window10부터 지원이 된다.
    • 하드웨어에 가깝게 설계가 된다.

생성할 내용

  • Framwork : Library로 나눠서 구현한다.
    • 아래의 구현할 것을 하나로 모아서 구현하고, 프로젝트들은 Framwork라는 Library를 사용해서 구현한다.
      • 이렇게 하는 이유 : 프로젝트 중 하나를 바꾸게 되면 나머지 프로젝트들도 다같이 바꿔야하기 떄문이다.
      • 이렇게 구현하면, Framework를 바꿔주면 나머지 프로젝트들도 상관없이 사용할 수 있도록한다.
    • UnitTest : 실제로 구현해서 실행한다.
    • ModelEditor
    • MapEditor

'이론 > DirectX 11' 카테고리의 다른 글

DirectX 11 3. UnitTest Setting  (0) 2024.09.06
DirectX 11 2. Framwork Setting  (2) 2024.09.04