BLOG

게임에서 섀도우 맵이란 무엇인가?

마지막 업데이트:

  이 페이지는 DeepL 에서 자동으로 번역되었습니다. Switch to English

그림자는 단순히 시각적 효과를 위한 것이 아닙니다. 게임 세계를 현실감 있게 만들어주며, 그림자가 없다면 가장 디테일한 환경조차 평평하고 생기 없어 보입니다. 앰비언트 오클루전(Ambient Occlusion) 이나 글로벌 일루미네이션(Global Illumination)과 마찬가지로, 섀도우 맵(Shadow Maps) 역시 게임의 현실감을 높이는 핵심 기술입니다. 실시간으로 그림자를 렌더링하는 가장 일반적인 기법 중 하나인 섀도우 매핑(Shadow Mapping)은 게임 개발자가 성능을 완전히 떨어뜨리지 않으면서도 깊이와 현실감을 더할 수 있게 해줍니다.

섀도우 매핑은 두 단계의 프로세스로 작동합니다. 첫 번째 단계에서는 광원의 시점에서 섀도우 맵 텍스처를 생성합니다. 이 맵은 깊이 정보를 저장하여 물체가 광원에서 얼마나 멀리 떨어져 있는지 기록합니다. 두 번째 단계는 플레이어의 시점에서 렌더링되며, 게임은 각 픽셀을 섀도우 맵과 비교합니다. 픽셀이 빛이 기록한 거리보다 멀면 그림자에 속합니다. 일치하거나 더 가까우면 밝게 유지됩니다. 이 방식은 효율적이며 동적 조명과 잘 어울리기 때문에 수년간 실시간 게임 그래픽의 핵심 기술로 자리잡았습니다.

그러나 섀도우 맵에도 한계가 존재합니다. 텍스처에 의존하기 때문에 해상도가 중요합니다. 저해상도 섀도우 맵은 움직일 때 눈에 띄게 들쭉날쭉한 가장자리나 뚜렷한 반짝임을 유발할 수 있습니다. 안타깝게도 해상도를 단순히 높이는 것은 쉬운 해결책이 아닙니다. 고해상도 섀도우 맵은 더 많은 메모리와 처리 능력을 요구하기 때문입니다. 개발자들은 종종 캐스케이드 섀도우 맵이나 필터링 같은 기법을 사용해 이러한 아티팩트를 부드럽게 처리합니다.

Shadows in Control

게임에서 볼 수 있는 그림자 설정

대부분의 게임은 그래픽 설정에서 그림자 품질을 조정할 수 있게 합니다. 일반적인 옵션은 다음과 같습니다:

  • 그림자 품질 – 해상도와 필터링을 조정합니다. 높은 설정은 더 선명하고 정확한 그림자를 제공하지만 더 많은 GPU 성능이 필요합니다.
  • 부드러운 그림자 – 더 자연스러운 느낌을 위해 가장자리를 부드럽게 처리합니다.
  • 동적 그림자 – 오브젝트와 조명의 움직임에 따라 실시간으로 업데이트되는 그림자를 활성화합니다.
  • 접촉 그림자 – 물체가 표면에 닿는 부분에 미묘한 그림자를 추가하여 사실감을 향상시킵니다.
  • 그림자 거리 – 카메라로부터 그림자가 렌더링되는 거리를 제어합니다. 이 값을 높이면 원거리 디테일이 향상되지만 성능에 영향을 미칩니다.

대부분의 게임 설정과 마찬가지로, 프레임 속도를 심각하게 저하시키지 않으면서도 시각적 완성도가 뛰어난 최적의 지점을 찾기 위해 실험해 볼 가치가 있습니다.

Screenshot of the settings screen from Apex Legends

레이 트레이싱 그림자

레이 트레이싱은 다른 접근법을 취합니다. 미리 계산된 맵에 의존하는 대신, 장면을 통과하며 반사되는 빛의 실제 경로를 시뮬레이션합니다. 이로 인해 특히 복잡한 조명 시나리오에서 더 정확하고 부드러우며 자연스러운 그림자가 생성됩니다. 그 대가는 성능입니다. 레이 트레이싱은 계산 비용이 매우 높기 때문에, 현대 GPU와 DLSS 같은 기술 덕분에 최근에야 실시간 렌더링에 실용화될 수 있었습니다.

섀도우 맵은 하드웨어에 훨씬 덜 부담을 주기 때문에 대부분의 게임에서 기본 선택지로 사용됩니다. 고품질 설정에서도 섀도우 맵은 일반적으로 레이 트레이싱 섀도우에 비해 성능 저하가 극히 일부에 불과합니다. 레이 트레이싱을 활성화하면 프레임 속도가 크게 떨어질 수 있으므로, 플레이어는 시각적 충실도와 부드러운 게임 플레이 사이에서 균형을 맞출 필요가 있습니다. 많은 경우 섀도우 맵은 사실성과 성능 사이에서 최상의 절충점을 제공합니다.

Screenshot from Cyberpunk 2077 showing ray traced shadows