처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.05.31 27

30년 전 게임이 만든 마법, Voxel Space 렌더링을 다시 들여다보다

Hacker News 원문 보기
30년 전 게임이 만든 마법, Voxel Space 렌더링을 다시 들여다보다

왜 지금 다시 Voxel Space일까

혹시 90년대 PC게임 "Comanche"를 기억하시나요? 헬리콥터 타고 협곡을 누비던 그 게임이요. 3D 그래픽카드가 보급되기 한참 전인 1992년에 나왔는데, 당시 사람들이 "이게 어떻게 가능하지?" 하고 놀랐던 게임이에요. 그 비밀이 바로 Voxel Space라는 렌더링 기법이었어요.

최근 Sebastian Macke라는 개발자가 이 기법을 JavaScript와 HTML 캔버스로 재현한 데모를 공개했어요. 브라우저에서 바로 돌아가는 데다 코드도 짧고 깔끔해서, 그래픽 프로그래밍을 공부하는 입장에선 정말 좋은 교재예요. 30년 전 기술이지만, 오히려 요즘처럼 GPU 의존도가 절대적인 시대에 "CPU만으로 이 정도가 된다고?" 하는 신선한 충격을 주거든요.

작동 원리가 의외로 단순해요

Voxel Space의 핵심 아이디어를 풀어볼게요. 이게 뭐냐면, 지형 데이터를 두 장의 2D 이미지로 표현해요. 한 장은 색상 정보(이 위치의 땅이 무슨 색인지), 다른 한 장은 높이 정보(이 위치가 얼마나 높은지)예요. 이걸 "하이트맵(heightmap)"이라고 불러요. 마치 위에서 내려다본 지도 두 장을 겹쳐놓은 것 같은 느낌이에요.

렌더링은 더 단순해요. 카메라 앞쪽으로 광선을 쭉 쏴요. 가까운 곳부터 먼 곳으로 한 발씩 걸어가면서, 각 지점의 높이를 읽고 "이 지점이 화면에서 어디쯤에 그려져야 하나"를 계산해요. 그리고 화면의 해당 세로 줄을 색칠해요. 가까운 곳부터 그리면 멀리 있는 산이 가까운 산에 가려지는 효과가 자연스럽게 나와요. 이런 방식을 "y-buffer" 또는 "column-based rendering"이라고 불러요.

폴리곤(삼각형 조각을 잔뜩 이어 붙여서 3D 모형을 만드는 일반적인 방식)을 하나도 안 써요. 그냥 픽셀 단위로 "여기엔 이 색을 칠해" 하고 직접 그리는 거예요. 그래서 폴리곤을 그릴 줄 모르던 90년대 초반 CPU가 광활한 지형을 부드럽게 그릴 수 있었던 거고요.

왜 이런 기법이 사라졌나

1990년대 후반에 3dfx Voodoo 같은 그래픽 가속 카드가 등장하면서 모든 게 바뀌었어요. GPU는 삼각형 그리는 데 특화돼 있거든요. 픽셀을 하나하나 CPU로 계산하는 Voxel Space 방식은 GPU가 "내가 잘하는 일"이 아니었어요. 그래서 게임 업계 전체가 폴리곤 기반으로 이동했고, Voxel Space는 점점 잊혀졌어요.

하지만 완전히 죽지는 않았어요. 마인크래프트가 보여줬듯이 "복셀(voxel, 3D 픽셀이라고 생각하면 돼요)" 자체는 여전히 매력적인 표현 방식이거든요. 또 최근엔 Teardown 같은 게임이 복셀 + 레이트레이싱으로 화제가 됐고, Unreal Engine 5의 Nanite도 일종의 "픽셀 단위로 세밀하게 그리자"는 철학을 공유해요. 돌고 돌아 "CPU/GPU가 더 똑똑해진 시대의 새로운 픽셀 렌더링"으로 부활하는 흐름이에요.

코드를 뜯어보면 배울 게 많아요

Macke의 데모 코드는 정말 짧아요. 핵심 렌더링 루프가 수십 줄 수준이에요. 그런데 그 안에 "원근감을 어떻게 만드느냐", "카메라 회전을 어떻게 처리하느냐", "멀리 있는 것을 어떻게 자연스럽게 흐릿하게 만드느냐(fog 효과)" 같은 컴퓨터 그래픽스의 기본기가 다 들어 있어요.

특히 "perspective division"이라는 개념이 흥미로워요. 멀리 있는 물체는 화면에서 작게 보여야 하잖아요. 그래서 거리에 따라 높이값을 나눠줘요. 가까우면 큰 숫자로, 멀면 작은 숫자로. 이 한 줄의 나눗셈이 "평면 지도"를 "입체 풍경"으로 바꾸는 마법인 거죠. 행렬 곱셈도 없고, 셰이더도 없고, 그냥 산수예요.

한국 개발자 입장에서 보면

당장 실무에 가져다 쓸 일은 거의 없어요. 솔직히요. 하지만 그래픽 프로그래밍을 처음 공부하는 분들한테는 이게 "GPU와 셰이더의 추상화"를 걷어내고 본질을 보게 해주는 좋은 입문 자료예요. WebGL이나 Three.js로 바로 들어가면 행렬, 셰이더, 버퍼 같은 개념에 압도되기 쉬운데, Voxel Space는 "픽셀 하나하나를 내가 직접 칠한다"는 가장 원초적인 단계에서 시작할 수 있거든요.

그리고 의외로 시각화 분야에 응용할 수 있어요. 지형 데이터, 의료 데이터(CT 스캔 같은 거요), 기상 데이터처럼 "공간상의 값 분포"를 표현하는 일에서 복셀 기반 시각화는 여전히 강력해요. 사이드 프로젝트로 데이터 시각화 도구를 만들어보고 싶다면, 이 데모를 참고 삼아 시작해도 좋아요.

마무리

한 줄로 정리하면, 30년 전 사람들은 GPU 없이도 풍경을 그리는 영리한 방법을 찾아냈고, 그 아이디어는 지금 봐도 여전히 우아해요. 기술의 발전이 항상 "옛것을 버리는 것"은 아니라는 걸 잘 보여주는 사례죠.

여러분은 "이 기술 신기한데 요즘은 안 쓰지" 싶은 옛 기법이 뭐 있으세요? 의외로 그런 것들이 사이드 프로젝트의 영감이 되곤 하잖아요. 댓글로 추천해주시면 같이 구경해봐요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.