1. CPU vs GPU
CPU : 고급인력 - 연산 중심, 범용적으로 모든 업무를 담당
GPU : 연산 중심 - ALU가 엄청 많지만 저장하는 공간은 비교적 작다
ex) 울트라 vs 저글링 -> 퀄리티 vs 수량
-> 중요한 연산은 cpu가 복잡하지 않지만 많은 연산은 gpu
gpu 사용되는 곳 - 암호화, 게임, 인공지능
Q) 서버 프로그래밍에서 mmorpg를 개발하고 있다면 gpu 사용할까?
A) 사용하지 않는다. 무조건 gpu를 쓴다고 좋은게 아니다. 병렬로 처리한 값을 다시 받아야하기도 하고
각 업무가 독립적이여야한다. 다시 동기화해서 받아오는 것도 어렵다.
클라이언트에서는 당연히 사용된다.
RAM,SSD- 데이터 저장
ALU - 코어. Cache - 임시 저장
2.게임 화면
800 x 600 -> 픽셀들의 조합
물체 - 많은 삼각형들의 조합 - 많은 연산 - gpu가 적
unity
기존 물체 - 로컬 영역- 좌표고정
게임씬에 배치 - 월드 좌표 - 좌표 이동, 회전 가능
카메라
-뷰포트에 따라 달라진다. -> 어떻게 보는
-조명에 따라 달라진다.
-실시간 렌더링- 실시간 움직임에 따라 보이는 것이 바뀌어야 한다.
3.GPU 랜더링 파이프라인
파란부분 - 코딩 불가 - 옵션으로 제어
녹색 - 코딩으로 제어 가능
※기억해야할 것 -Input-Assembler , Vertex Shader, Rasterizer,Pixel Shader, Output-Merger
Input-Assembler
-물체에 대한 기하학적인 정보를 받아준다.
Vertex Shader
-정점에 대한 연산 - 로컬영역에 있는 물체 - 월드좌표에 어떻게 배치할지
-행렬연산- 정점 단위
Rasterizer
-삼각형- 정점단위- 보간하는 연산
-내부영역이면 보간 진행
Pixel Shader
-픽셀 단위 - 조명에 따른 색상을 결정
-셰이더가 그림의 풍을 정한다.
Output-Merger
-결과물을 보여준다.
랜더링, 코어와 관련된 기능들을 작업해둔 뒤 모아서 만든 툴 셋 - 게임 엔진
'게임공부 > Directx11' 카테고리의 다른 글
[Directx11]4. 삼각형 그리기 (1) | 2024.07.01 |
---|---|
[Directx11]3.장치초기화 (0) | 2024.06.27 |
[Directx11]2.초기설정 (0) | 2024.06.26 |
[Directx11]2.랜더링 파이프라인2 (0) | 2024.06.21 |
[Directx11]1. 렌더링 파이프라인-1 (0) | 2024.06.19 |