본문 바로가기
그래픽스ㆍDirectX

그래픽스, CPU vs GPU, 랜더링 파이프라인

by imagineer_jinny 2022. 5. 19.

본 내용은 [Rookiss - 게임 수학과 DirectX12] 강의를 토대로 작성하였습니다.

 

  • 그래픽스
    • 3D 세상에 물체를 배치하고 그것이 우리의 2D 모니터 화면에 출력되는 전 과정을 공부하는 학문

 

  • 그래픽스 관련 회사 기본 질문

 

게임 규칙과 연산을 하는 것 : CPU, 그래픽과 관련된 연산을 하는 것: GPU

 

 

  • CPU와 GPU의 차이? (가끔 면접 문제)
    • CPU
      • 복잡한 연산 잘하고 뛰어난 기억력
      • 그러나 ALU(실질적으로 산술 연산하는 것)가 어마어마하게 많지는 않음
      • 소수 고급 인력 집단이라고 생각하면 편함
      • 일반적인 계산함 ( ex. 운영체제 실행, 게임, 윈도우 키기, 문서 작업 하기 등의 범용적인 연산)
    • GPU
      • 대부분의 영역 자체를 ALU가 차지하고 있음
      • 계산기 같은 역할
      • 값싼 인력들이 모인 인력 사무소
      • 간단한 연산을 많은 수의 ALU들이 함
      • 연관성이 없는 일들(하지만 일감 자체는 굉장히 많은)을 병렬로 처리 (ex. 암호학, 인공지능, 비트코인 채굴 등의 연산)

 

컴퓨터 그래픽스에서 GPU가 있으면 일감을 떠넘기기 좋은 시스템임

일감을 GPU에게 떠넘기는 건 좋은데 아무렇게나 외주를 날릴 수 없고 정해진 규칙에 따라 외주를 날려야 함

이 단계가 렌더링 파이프라인

 

 

  • GPU마다 스펙이 다 다르면 GPU에 연산 요청하기가 힘듦

 

  • DirectX ?
    • Microsoft에서 제공하는 GPU 외주 라이브러리

GPU 제조사들은 Microsoft와 협업을 해서 DirectX 스펙에 맞춰서 GPU를 제조

개발자들은 GPU 스펙을 하나씩 다 따질 필요 없이 DirectX에 맞게 코드를 짜면 됨

 

댓글