Appearance
GPU와 셰이더 기술의 기초 지식 (1)
[칼럼 핵심 요약]
이 연재는, 최신의 PC나 게임에 이용되고 있는 3D 그래픽스 기술을 자유롭게 소개해 가는 것이다. 그런데 처음에는, 최근까지의 3D 그래픽스 기술의 진화의 역사를 되돌아 보기로 하고 싶다.🌐 원문 링크: GPUとシェーダ技術の基礎知識(1) (Mynavi News)
📅 원문 발행일: 2008-01-25 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)
NOTE
💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)
- 고정 기능에서 완전 프로그래머블로: 본문에서 다루는 플랫 셰이딩(Flat Shading)과 초기 고정 파이프라인(Fixed-Function Pipeline) 시대는 이후 DirectX 8/9의 버텍스/픽셀 셰이더 분리 시대를 거쳐, 현재는 컴퓨트 셰이더, 메시 셰이더(Mesh Shader), 레이트레이싱 파이프라인(DXR/Vulkan Ray Tracing)으로 완전히 통합·진화했습니다.
- 하드웨어 인터페이스의 진화: AGP 및 초기 PCI 인터페이스에서 현대의 PCIe 4.0/5.0 및 고대역 메모리(HBM3 / GDDR6X) 구조로 발전하여, 초당 수 테라바이트급의 메모리 대역폭을 소화하고 있습니다.
- 소프트웨어 래스터라이저의 부활: 최신 언리얼 엔진 5의 Nanite는 GPU 하드웨어 래스터라이저의 한계를 극복하기 위해, 매우 미세한 마이크로 폴리곤 클러스터에 대해 컴퓨트 셰이더 기반의 고속 소프트웨어 래스터라이저를 병행 사용하는 등 기술이 나선형으로 진보하고 있습니다.
📖 본문 해설
[원문 리드문] > 이 연재는, 최신의 PC나 게임에 이용되고 있는 3D 그래픽스 기술을 자유롭게 소개해 가는 것이다. 그런데 처음에는, 최근까지의 3D 그래픽스 기술의 진화의 역사를 되돌아 보기로 하고 싶다.
이 연재는, 최신의 PC나 게임에 이용되고 있는 3D 그래픽스 기술을 자유롭게 소개해 가는 것이다.
방침으로서는 일단 비교적 최신 PC 게임이나 PS3, Xbox 360 등의 신세대 게임기의 게임에서 사용되고 있는 기술을 계통으로 소개해 나가려고 한다.
그런데 처음에는, 최근까지의 3D 그래픽스 기술의 진화의 역사를 되돌아 보기로 하고 싶다.
실시간 3D 그래픽 기술의 진화 계보
현재, 소니 PS3, 마이크로소프트 Xbox 360, 닌텐도 Wii 등의 최신 게임기는 물론, 최신의 마이크로소프트 Windows Vista에서는 그 유저 인터페이스까지가 3D 그래픽스가 되었을 뿐만 아니라, 닌텐도 DS나 PSP등의 휴대 게임기, 일부의 최신 휴대전화도 실시간 3D 그래픽스 기술이 실려 오고 있다.
원래, 실시간 3D 그래픽스와는 어떠한 진화를 이루고, 어떠한 미래를 향하고 있는 것일까. 앞으로 오랫동안 실시간 3D 그래픽에 접하고자 하는 분들을 위해 우선 기초지식을 정리해 보자.
1980년대 후반부터 1990년대 전반~플랫 셰이딩(Flat Shading)으로부터 텍스처 매핑 시대에
그때까지 3D 게임에의 응용이 없었지만, 기본적으로 「3D 그래픽스」는 기술 훈련용 시뮬레이터나 자연 현상이나 광학 현상의 해명이라고 하는 학술 연구, 혹은 영상 표현에의 응용 등, 프로페셔널 용도나 아카데믹 용도의 세계로 진화하고 있었다. 1980년대 후기부터 1990년대가 되면 대형 게임 메이커가 아케이드의 업무용 게임 시스템에 실시간 3D 그래픽스 시스템을 채용해, 요즘부터 게임에 3D 그래픽스가 본격적으로 활용된다.
이 시대의 대표적인 작품이라면 남코 ‘위닝런’(1988년), 세가 ‘버추어 레이싱’(1992년), ‘버추어 파이터(Virtua Fighter)’(1993년) 등이 있다. 요즘은 폴리곤 모델을 사용하지만 실시간으로 표시할 수 있는 폴리곤 수가 적고, 라이팅도 폴리곤 단위의 플랫 셰이딩(Flat Shading)이 주류였다.
그러나 게임과 3D 그래픽스의 만남은 '실시간 3D 그래픽스'라는 분야를 확립하고 그 진화를 단번에 뒷받침한다.
남코 '릿지 레이서'(1993년)에서는 텍스처 매핑이 적용된 (이미지를 폴리곤에 붙인) 3D 모델이 종횡무진으로 돌아다니며, 지금까지의 각진 블록(적목)의 집합체인 3D 그래픽스에서 단번에 리얼리티가 향상된다.
「버추어 파이터(Virtua Fighter)」(1993년). 폴리곤 단위의 라이팅이 기본의 「플랫 셰이딩(Flat Shading)」뿐이며, 텍스처 매핑이라는 개념도 없었다. 그 때문에, 얼굴이나 옷은 "그 형태의 폴리곤"을 묘화해 표현하고 있었다 (C)SEGA
1990년대 중기~가정용 게임기가 열린 민생용 실시간 3D 그래픽스
특수한 그래픽 워크스테이션을 제외하고 '게임 플랫폼'이라는 것에 한정하면 당시 3D 게임 그래픽 기술이 가장 선행했던 것은 아케이드 게임 시스템이었다. 그런데 1994년에는 역사적인 역전극이 일어난다. 그것이 소니 플레이 스테이션(PS1)과 세가 새턴의 등장이다.
해상도는 그다지 높지는 않았지만, 텍스처 매핑에까지 대응한 실시간 3D 그래픽이 일반 소비자에게 전달됐다는 의의가 크고, 이를 계기로 실시간 3D 그래픽과 3D 게임 그래픽은 거의 병행한 관계성을 가지고 급속한 진화를 시작한다.
한편, 이 무렵 PC의 일반 유저를 위한 3D 그래픽 기술은 불행히도 게임기보다 대부분 늦었다. PC에 있어서의 일반 유저용 실시간 3D 그래픽스 기술의 본격 보급은, 1995년에 등장한 새로운 OS, Windows 95의 시대가 되고 나서다.
마이크로소프트는 윈도우 환경하에서의 사운드, 그래픽스, 네트워크, 게임 컨트롤러 등의 멀티미디어 API 컴포넌트를 정리한 「DirectX」를 발표해, 이것을 Windows 95에 채용한 것이다. DirectX는 그 버젼 번호를 나중에 덧붙여 부르는 것이 관례가 되어, Windows 환경하에서 본격적으로 3D 그래픽스 카드가 보급되어 간다. 실시간 3D 그래픽스를 취급할 수 있게 된 것은 1997년에 릴리스된 「DirectX 5」의 무렵이 되고 나서였다.
정확히 이 타이밍에 전후해, 대기업 CPU/칩셋 메이커의 인텔은 새로운 그래프익스 인터페이스로서 AGP(Accelerated Graphics Port) 버스의 실용화에 나서고 있어 지금도 유력한 그래픽 칩 메이커인 NVIDIA는 RIVA 128 시리즈를, ATI(2006년에 AMD와 합병)는 RAGE 3. PS1의 등장으로부터 늦어지는 것 3년, 겨우 PC 플랫폼이 PS1과 같은 정도의 실시간 3D 그래픽스를 취급할 수 있게 된 것이었다.
NVIDIA의 'RIVA 128'
DirectX 5 시대, "PC에서 3D 게임 플레이"를 펼친 "Quake II"(1997 년, id software) (C) 1997 id Software,Inc.All Rights Reserved.
DirectX 6시대, 비디오 카드의 대표 게임으로 명성을 떨친 "Incoming"(1998년, Rage사) (C)Rage Games Ltd 1998
(트라이Z 니시카와 젠지)