Edu at Talk
메인 콘텐츠로 건너뛰기
학문·교양

컴퓨터그래픽스 — 게임 화면 속의 빛은 어떻게 '계산'되나

실제로 존재하지 않는 빛과 그림자를 컴퓨터가 어떻게 만들어 내는지를 통해, 광선을 수식으로 쫓는 렌더링의 아이디어와 컴퓨터그래픽스가 무엇을 다루는 학문인지 짚습니다.

  • 컴퓨터그래픽스
  • 공학계열
  • 컴퓨터
  • 렌더링
  • 광선추적
  • 기하벡터

최신 게임의 한 장면에서, 캐릭터가 물웅덩이 옆을 지나가자 수면에 주변 건물과 하늘이 거꾸로 비친다. 캐릭터가 움직이면 물에 비친 모습도 따라 움직이고, 가로등 불빛은 젖은 바닥에 길게 번진다. 그런데 그 화면 안에는 물도, 빛도, 건물도 없다. 모든 것은 매 순간 새로 '계산된' 숫자일 뿐이다. 존재하지 않는 빛의 반사를, 컴퓨터는 어떻게 그려 내는 걸까.

이 글은 게임이나 영화의 화면이 어떻게 만들어지는지 궁금한 학생을 위한 것이다. '빛을 계산한다'는 낯선 말의 뜻을 따라가면, 수학과 물리가 화면 위에서 만나는 장면이 보인다.

화면 속의 빛과 그림자는 어디서 나오나?

현실에서 우리가 물체를 보는 건, 광원에서 나온 빛이 물체에 부딪혀 반사된 뒤 눈에 들어오기 때문이다. 컴퓨터그래픽스는 이 과정을 거꾸로 흉내 낸다. 화면은 수많은 화소로 이루어져 있고, 컴퓨터는 화소 하나하나에 어떤 색을 넣을지를 정해야 한다.

그 색을 정하려면 '이 지점에 빛이 어느 방향에서 얼마나 들어오고, 물체 표면이 그 빛을 어떻게 되돌려 보내는가'를 알아야 한다. 표면이 눈을 향해 있고 광원 쪽을 바라보면 밝게, 광원에 등을 돌리면 어둡게 칠한다. 다른 물체에 가려 빛이 닿지 못하면 그림자가 된다. 이 모든 판단이 방향과 각도, 거리의 계산으로 이루어진다.

화면 속의 빛은 '비추는 것'이 아니라 '계산되는 것'이다. 밝기와 그림자는 모두 방향과 각도를 숫자로 다룬 결과다.

이 현상을 다루는 학문은 무엇인가?

컴퓨터그래픽스(computer graphics)는 3차원 공간의 물체와 빛을 수학 모형으로 세운 뒤, 그것을 2차원 화면의 색으로 바꾸는 과정을 연구하는 분야다. 이 '3차원 장면을 2차원 그림으로 바꾸는 일'을 렌더링이라고 부른다.

렌더링에는 크게 두 길이 있다. 하나는 물체 표면을 작은 삼각형들로 쪼개 화면에 빠르게 투영하는 방식이고, 다른 하나는 눈에서 광선을 쏘아 그것이 부딪히는 것을 거꾸로 추적하는 '광선추적'이다. 앞의 방식은 빠르지만 반사·그림자를 따로 흉내 내야 하고, 뒤의 방식은 사실적이지만 계산이 무겁다. 3차원 공간을 평면에 어떻게 옮길 것인가라는 질문은, 화가들이 수백 년 전 씨름한 문제이기도 하다 — 사영기하 — 원근법은 발견인가 발명인가가 그 역사를 다룬다.

고등학교에서 배운 무엇과 이어지나?

가장 직접적인 다리는 기하의 좌표와 벡터다. 3차원 공간의 점은 좌표로, 빛이 가는 방향과 표면이 바라보는 방향은 벡터로 표현된다. 표면이 빛을 향하는 정도는 두 벡터 사이의 관계로 계산되고, 광선이 평면에 부딪히는 지점은 직선과 평면의 교점을 구하는 문제로 바뀐다. 교과서의 내분점·좌표 계산이 화면 위에서 실제로 쓰이는 셈이다.

물리학의 빛과 정보 교과도 이어진다. 반사·굴절 같은 빛의 성질이 렌더링의 바탕이 되고, 그 계산을 효율적으로 처리하는 알고리즘은 정보 교과의 영역이다. 화면의 색이 빨강·초록·파랑의 조합으로 만들어진다는 것은 화면의 빨강과 물감의 빨강이 다른 이유 — 색을 다루는 과학에서 더 깊이 볼 수 있다.

대학에서는 이걸 어떻게 배우나?

컴퓨터그래픽스는 보통 컴퓨터공학·소프트웨어 관련 학과에서 전공 과목으로 다루고, 디자인·영상 쪽 학과에서 제작 중심으로 배우기도 한다. 어느 학과에서 얼마나 이론적으로/실무적으로 다루는지는 대학마다 다르다.

이론 쪽에서는 선형대수(벡터·행렬로 물체를 옮기고 돌리고 비추는 변환), 빛의 물리 모형, 렌더링 알고리즘을 배우고, 실무 쪽에서는 그래픽 도구와 프로그래밍으로 직접 장면을 만든다. '재미있는 화면'을 넘어 '왜 이 화면이 사람에게 그럴듯하게 보이는가'를 다룬다는 점에서, 재미 자체를 설계로 다루는 게임학 — '재미'를 설계로 다룰 수 있을까와도 가까이 있다.

여기서 뻗어 나갈 탐구 질문 3가지

  1. 광선추적은 사실적이지만 느리다. 실시간으로 움직여야 하는 게임은 '덜 정확하지만 빠른' 방식을 쓰는데, 어디까지 흉내 내면 사람 눈을 속일 수 있을까? '진짜처럼 보임'과 '진짜'는 어디서 갈릴까?
  2. 그림자 하나를 그리는 데도 '빛이 저 지점에 닿는가'를 일일이 확인해야 한다. 화소가 수백만 개이고 빛이 여러 번 튕긴다면, 계산량은 얼마나 빨리 불어날까?
  3. 같은 3차원 장면이라도 카메라의 위치와 방향을 바꾸면 전혀 다른 그림이 된다. '무엇을 보여 줄지'를 정하는 일은 기술의 문제일까, 연출의 문제일까?

한 줄 요약

컴퓨터그래픽스는 존재하지 않는 빛과 물체를 수학 모형으로 세워 화면의 색으로 바꾸는 학문이고, 우리가 보는 그림자와 반사는 모두 방향과 각도를 계산한 결과다.

컴퓨터나 디자인 쪽 탐구를 설계할 때는, 교과에서 배운 벡터 하나가 화면 위에서 어떻게 쓰이는지를 직접 작은 코드로 확인해 보면 개념이 살아난다. TimeLevelUp으로 탐구의 단계를 기록해 두면, 흩어진 실습이 아니라 '교과 개념 → 실제 구현'으로 이어지는 흐름으로 남는다.

자주 묻는 질문

Q. 게임 화면의 빛은 진짜 빛인가요?
아닙니다. 화면 안에는 빛도 물체도 없습니다. 컴퓨터는 '이 물체에 저 방향에서 빛이 들어오면 각 지점이 얼마나 밝아 보일지'를 수식으로 계산해 화소마다 색을 정합니다. 우리가 보는 그림자와 반사는 모두 계산의 결과입니다.
Q. 광선추적(레이 트레이싱)이 뭔가요?
눈(카메라)에서 화면의 각 점을 향해 가상의 광선을 쏘고, 그 광선이 어떤 물체에 부딪혀 어떻게 반사·굴절되는지를 거꾸로 따라가 색을 정하는 방법입니다. 사실적인 반사·그림자를 만들지만 계산량이 많습니다.

에듀엣톡이 돕는 방법

이 글의 내용을 실제 계획으로 옮기고 싶다면생기부레벨업수시합격 매뉴얼학교생활기록부와 진로·전공 방향을 함께 놓고 활동 기록과 세부능력 및 특기사항의 준비 방향을 점검하는 1:1 상담입니다.생기부레벨업 학생부종합전형 상담 살펴보기 →

학습 계획과 실행 점검이 필요하다면 타임레벨업 — 중·고등학생의 하루 공부를 계획부터 점검까지 관리합니다.

상담 신청 전에 카카오톡으로 먼저 물어보기 — 평일 09:00 — 18:00 답변합니다.

이어서 읽기