반응형
사용자 삽입 이미지
http://games.sina.com.cn/y/n/2006-01-01/1357138708.shtml


위 사이트의 이야기에 따르면, PlayStation3 에 들어갈 NVIDIA 의 RSX는 좌측과 같은 구조로

PS3의 메인CPU인 CELL 과 마찬가지로

각각의 코어를 분산처리제어하는게 가능하며, 해당 코어들은 다시 NVIDIA 의 고유기술인 Ultra Shadow 2, CineFX 등의 이미지처리를 각기 전담하게 되며

이로서 놀랍게도 레이트레이싱 등의 렌더링이 실시간으로 가능할 수 있다고 하는군요.

사이트에서 이에 대한 정보를 접하고 우와 하고 있는데, 레이트레이싱이 무엇인지에 대한 질문도 더러 있는 분위기라서 보다 쉽게 '왜 놀라운 이야기인지' 공감하고자 긁적거렸습니다. 
 
그런데 막상 쉬운 이해를 위해서 긁적거리고 나니,  '뭔말인지는 모르겠지만 소니가 구라네' 라는 식의 찌질한댓글만 있어서,  제가 마치 소니의 구라를 편든 게다가 알아들을 수 없는 말만 지껄인 사람으로 간주되어버려서 얼른 지웠습니다. 제가 이걸 확실하다고 한것도 아니고 아직 나오지 않았으니 구라라고 판단할일도 아닌데....
 
역시 모 사이트의 해당 그래픽 하드웨어 게시판은 몇몇의 수준에 비해 대다수의 수준은 무척 떨어지며 문제는 그 대다수는 절대 그렇게 생각을 하지 못하는 곳이라는 편견이 지워지기 어렵게 되더군요.

여하튼 그냥 실시간 레이트레이싱을 구현한다는게 얼마나 황당한지 긁적거려보자면

일단, 렌더링이란 완전한 3D객체로 계산되어있는 3차원물체를 , 우리의 보통눈으로도 입체감을 느끼게 해주기 위해 , 모양-위치-광원-시점  등의 네가지 이상 정보를 입혀서 2차원 그림으로 그려내는것을 말합니다.

(카메라의 렌즈와 우리의 눈에 들어오는 3차원의 실제영상이 사진으로 찍혔을때는 종이라는 납작한 2차원에 투영되는것과 어떻게 억지로 생각하면 마찬가지의 원리.)

이런 렌더링은 당연히 , 3차원물체에 그림을 정교하게 입혀 2차원의 그림한장으로 만들어야하는 수고로운 알고리즘덕에 한장 한장 그릴때마다 시간이 무척 많이 걸리며,  우리가 흔히 아는 3D 애니메이션들은 바로 이렇게 해서 탄생한 그림 한장 한장을 다시 24장 이상씩 모아서 초단위로 편집해줌으로서 실제 움직이는것처럼 보이게 되겠죠.

그러나 그래픽 프로세서의 발전과 알고리즘의 개선으로 우리는 이런 영상의 세계를 '실시간렌더링'(3차원 물체를 2차원으로 그려내는 작업이 1초에 24장 이상씩 그려지는 상황)으로 일반인이 가지고 있는 데스크탑 컴퓨터를 통해 느낄 수 있게 되었죠.

물론 이러한 실시간렌더링은 다양한 렌더링기법 중 '아주 실제적인 렌더링기법'보다는 '단순품격의 렌더링기법'을 쓰게 되는게 통상적입니다. (경찰서에서 몽타쥬를 그리는 추적묘사삽화가나 빠른 크로키를 그려야 하는 화가가 캔버스에 유화물감을 쓰지 않고, 종이와 연필을 들고 작업하는것과 마찬가지의 상황이라고 우겨 보면 얼추 이해가기 쉽다.일단 시스템의 한계안에서 빨리 그려야 할테니까요.)

그러한 단순품격의 렌더링알고리즘은 Z버퍼알고리즘, 스캔라인알고리즘으로 대변되는 선제거기법 (수많은 선으로 이뤄져있는 객체의 선을 미끈한 표면으로 정리해줌.), 텍스처-범프-인바이런먼트맵핑 으로 대표되는 표면매핑기법, 퐁과 블린모델로 대표되는 지역조명반사법(physically based local illumination modeling)이 있죠.

우리가 지금 흔히 보는 최신 3D 게임들의 실시간렌더링 즉 실시간그래픽구사환경은 바로 위에 열거된 기법들에 의해 그래픽 프로세서가 자신의 하드웨어에 맞게 주어진 소프트웨어환경(DirectX 나 OpenGL 등의 API)을 가지고서 구현해내는 것인데,

그러나 3차원 그래픽 소프트웨어로 연출용 애니메이션이나 그림을 그려야할 경우는 당연히 실시간으로 구현할 필요가 없기때문에 좀 더 고품격의 렌더링기법들을 쓰게 되는데, 그중에 하나가 전역조명렌더링 즉 Global illumination 모델링 기법으로,  광선추적법렌더링(Ray Tracing)과 난반사조명구현법(Radiosity레디오시티) 포톤맵광선추적법(Photon map ray tracing) 이 대표적입니다.

광선추적 (레이트레이싱) 기법으로 렌더링된 그래픽 예 :

사용자 삽입 이미지





출처 :http://www.povray.org/

이러한 고품격렌더링기법은 일반적으로 실시간렌더링과는 거리가 먼 개념이며, 가장 빠른 렌더링 구현을 위해서는 지금 단계에서 가장 저렴한 방식을 찾아도 특수한용도지원의 그래픽 하드웨어가 있어야 하며 (예: NVIDIA Quadro or ATI FireGL) 동시에 그 렌더링을 구현가능하게 하는 특수한 소프트웨어가 있어야 할것입니다.(예: NVIDIA Gelato)

그렇지 않을경우 시스템의 CPU와 메모리가 모든 부담을 떠안고 3박4일이 되었건 9박10일이 되었건 단한장면을 위해서 노가다를 뛰어야 하는데 , 지금의 최신 헐리우드 영화들도 위의 방식과 더불어서 이런 노가다방식을 아직도 고수하고 있죠.(예: 렌더맨)

그런데 이런 렌더링을 '실시간'으로 '곧나올' '가정용게임기'에서 처리한다는 것은 너무나 놀라운 이야기이며,  더구나 여러대의 워크스테이션을 붙여서나 구현가능한 '분산처리렌더링'을 단일 GPU가 처리가능하도록 설계했다는 것은 우와 하는 경탄이 나올 루머라고밖에는 할 수 없더군요.

그래서 위와 같은 잡상에 의해,  디씨인사이드식 세줄요약으로

'RSX로 그런게 가능하다니'
'믿기지 않지만'
'정말놀랍네'


라고 할수 있습니다. 

그냥 이런 놀라움이 왜 생기는지 긁적거려보고 싶어서 윗사람이 출장간 평화로운 시점에 투닥 거려봤었죠.

참고사이트: http://developer.nvidia.com/
반응형

'컴, 하드웨어, IT' 카테고리의 다른 글

VMware GSX Server 란 무엇 입니까?  (0) 2007.06.27
각종 그래픽, 멀티미디어 편집툴 설명  (0) 2007.06.27
RS232C 통신  (0) 2007.06.27
Posted by Real_G