Unreal TIL 32일차 - TA 입문 개념 정리

yys·2026년 4월 9일

TIL

목록 보기
25/85

🔗 학습 날짜 인증(주제와 무관)

오늘 한 내용


  • C++ 코드카타
  • C++와 Unreal Engine으로 3D 게임 개발 강의 수강
  • TA 강의 수강

안티 앨리어싱(Anti-Aliasing)


픽셀의 계단 현상을 제거하기 위해 나타난 기법이다.
픽셀은 일부만 칠하는 경우는 없기 때문에 경사를 표현한다 하면 다음과 같이 계단처럼 그린다.

안티 앨리어싱 기술은 가장자리를 회색칠 함으로써 멀리서 보았을 때, 이질감이 들지 않도록 해준다.

드로우 콜(Draw Call)


드로우 콜은 CPU가 GPU에게 그림을 그리는 명령을 내리는 것을 의미한다.

드로우 콜은 3D 모델을 제작한다고 하면, 폴리곤 수, 텍스처 계산 등등을 묶어놓은 설계도 같은 느낌이기 때문에 드로우 콜을 자주 보내면 심각한 프레임 저하를 일으킨다.

즉, 나무를 100개 그려야 한다면 다음과 같은 방향이 이루어질 수 있다.

  • 나무를 1개씩 그리라고 요청하는 것
  • GPU의 병렬 처리 특징을 이용하여 나무를 100개씩 그리라고 요청하는 것

당연히 후자가 더 효율적이기 때문에 CPU가 GPU에게 요청을 보내는 방식을 바꾸는 것이 목표라고 할 수 있다.

렌더링 파이프라인(Rendering Pipeline)


그러면 GPU는 드로우 콜 요청을 받았으니 명령에 따라서 그림을 그려야 할 것이다. 이렇게 데이터를 화면에 표현하기 위한 라인이 렌더링 파이프라인이다.

렌더링 파이프라인은 일반적으로 다음과 같은 절차를 지닌다.

  • Vertex Shader
    • 각각의 정점이 3D 공간 어디에 위치해야 하는지 위치값을 계산하는 작업
  • Model View Projection
    • 도형의 각 좌표들을 카메라 좌표로 변환하는 작업
  • Rasterizer
    • 카메라 시점으로 변환된 3D 폴리곤을 모니터 해상도에 맞춰 2D 픽셀 단위로 잘게 쪼개는 작업
  • Fragment Shader
    • 모델에 색을 입혀주는 작업

PBR(Physically Based Rendering): 실제 환경에 가깝게 사실적으로 렌더링 하는 작업

이미지 압축 방법


이미지 데이터를 픽셀 단위로 있는 그대로 저장하면 메모리와 용량을 엄청나게 차지한다.

만약 128 x 128 해상도를 가진 완전히 하얀색 이미지가 있다고 가정해 보자.
모든 픽셀 데이터의 정보를 저장하면 16,384개의 픽셀 데이터를 저장하는 것이기 때문에 매우 큰 리소스를 낭비하게 된다.

그렇기 때문에, 색상과 해상도(가로 x 세로)의 정보만 선언 하는 방식으로 저장하여 20바이트로만 이미지를 표현할 수 있다.
(현재는 이런 방식을 채택하지 않는다고 한다.)

Vector3 dotColor = Vector3(1, 1, 1);
int xSize = 128;
int ySize = 128;
profile
게임 개발 지망생

0개의 댓글