DirectX 개요

CJB_ny·2022년 11월 7일
1

DirectX11

목록 보기
1/3
post-thumbnail

DirectX 란?

맨날 DirectX막 얘기하는데 이것은 SDK이다.

SDK란 Software Development Kit이다.

즉, 개발을 도와주는 도구이다.

근데 이것을 예전에는 API = Application Programming Interface라고 많이 불렀다.

그러니까 그냥 SDK나 API나 비슷한 말이다.

DirectX SDK의 경우 DirectX를 개발하기 위한 라이브러리이다.

이 Library라는 것은 개발에 도움이 되는 클래스들이나 함수들을 모아놓은 "집합"을 말한다.

이 Libaray안에 Component들이 들어있다.

DirectX Component 종류

  • Direct 3D(11에서 2D 지원 + 하드웨어 가속도도 지원 11에서부터)

  • Direct Write 지원

    Font나 글씨같은 것들을 출력해주는 Component

  • DX GI

    그래픽 카드와 통신을 위한 것.

    글카가 NVIDA, AMD, RTX 2080이니어쩌구 하는데
    어떤 그래픽카드에도 상관없이 일괄적으로 프로그램 해줄 수 있는 추상화 된 API정도라고 생각하면은 된다.

  • Direct Compute

    CPU에서 처리를 할 부분은 이녀석이 대신 해주는 라이브러리 이다.
    (비트코인 채굴 때문에 가격높아진 이유)

  • X Audio2


  • RayTracing

    요즘 RTX라고 하는데

    https://crone.tistory.com/380

    NVIDAI에서 RTX의 R말하는 것이다.
    광선 말하는 것이다.

  • ML

    기계학습을 위한, 지원해주는 Component.

    TensorCore라고 해서 NVIDIA내에 전용 프로세서가 있는데 그거 사용하지 않고도 D11지원하면 기계학습으로 사용할 수 있다.

  • Physics

    물리엔진

근데 RayTracing, ML은 DirectX12에서만 지원한다.


왜 DirectX11를 사용하나?

8에서는 CPU렌더링 중점

9에서는 쉐이더 본격 지원 (혁명 일어남 2000년대 초중반)
GPU렌더링 + CPU렌더링 혼종 단계
이때는 뭔가 쉐이더에 대한 개념을 명확히 적립하지 않은 단계라 복잡했다.

그래서 그것들을 다 갈아엎고 GPU에 맡게 한것이

DirectX10, 11이다.

이녀석들은 쉐이더가 없으면 렌더링이 안된다.

10에서는 GS라는 것이 추가가 되었고

11에서는 Teseelation이라는 것이 추가가 되었다.

DirectX12는 window10부터 지원을 한다

아직 다 윈도우10으로 전환이 안되기도 했고

해서 게임업계에서도 12를 사용을 거의 안한다.

또한 12는 하드웨어에 가깝게 설계가 되어있다.(로우 레벨에 가깝게)

그래서 학습하는데 어려울 수 있다.

준비물

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글