[책] 그래픽스 프로그래밍 방법론

20150827_110544

리뷰는 신간 위주로 올리는 경향이 있지만 제 독서스타일은 다독도 정독도 아니고 그냥 이해가 될 때까지 여러 번 읽는 스타일입니다. 반드시 한 번에 책의 끝까지 보는 편이며 이해가 안되면 다시 보고 그래도 이해가 안되면 좀 시간차를 두고 다시 꺼내서 보는 식입니다. 거의 모든걸 독학으로 배우다보니 딱히 머리가 좋은 것도 아니고 스승이 있는 것도 아니라서 그저 천자문을 천 번 읽어서 깨치듯이 이해가 될 때까지 여러번 읽는 거 외엔 배울 방법이 없는거죠. 현재도 당연히 기존에 책을 계속 돌아가면서 읽고 있습니다. 이미 이해했다고 생각했던 책도 다시 보면 전혀 몰랐다는 걸 깨달을 때가 워낙 많아서 아예 그려려니 하고 계속 다시 보는 거죠.

사이텍미디어는 저와 매우 궁합이 맞는 출판사인데, 사이텍미디어의 역서 시리즈는 제 취향에 맞는게 꽤나 있습니다. 여기서 GBOOK이라는 역서 시리즈를 출간했는데 이 태반은 찰리스 리버 미디어 라는 출판사의 게임디벨롭먼트 시리즈입니다. 처음들어보신분들도 있겠지만 게임프로그래밍젬스 라는 시리즈는 아시는 분들이 오히려 많겠죠.

그 유명한 게임프로그래밍젬스가 바로 여기서 나온거죠. 이 시리즈는 게임업계의 전문가 여러명에게 개별 챕터의 원고를 맡겨서 이를 묶은 형태로 출간되어있는데 이런 방식의 출간이 성공적이는 매우 힘듭니다. 책의 일관성이 없기 때문이죠. 하지만 매우 호평받으며 굉장한 인기를 끌고 실제 가치도 충분한 책이 탄생한데는 제프랜더라는 걸출한 인물이 있었습니다.

이 책은 원래 게임프로그래밍 젬스 3의 그래픽스 섹션부분에 누락시킨 원고를 모아 별도로 출간한 책입니다. 책의 분량 상 짤렸지만 도저히 버릴 수 없는 좋은 원고들이였던거죠.

간단히 이 책을 요약하자면 다양한 그래픽스에 대한 알고리즘책입니다. 헌데 여기서 말하는 그래픽스 더 정확하게는 GPU를 사용하는 게임 내에서의 그래픽스입니다.
따라서 알고리즘은 자연히 게임 내에 복잡성을 처리할 수 있는 알고리즘이 됩니다.

사실 원론적인 알고리즘책을 보는 것은 매우 지겨운 일인데 이 책을 구체적인 상황에 대해 매우 효율적인 알고리즘을 제시하고 실제 코드로서의 해법도 보여줍니다.
완전 재밌…(머 이건 사람따라 이걸 재밌다고 하면 변태로 보는 사람도 있으니 ^^)

타원, 스플라인곡선, PN고차면, 정수직선 등의 효율적인 기초알고리즘에서부터 파티클, 섬유, 나무 등의 특정 분야 렌더객체에 대한 최적화에 대한 주제도 있죠.
애니메이션, 역공학, 지형엔진, 텍스쳐보간, 지오메트리 평탄과 같은 분야도 있고 렌더링모델에 대해서도 조명전략과 그림자등에 대한 괜찮은 알고리즘이 제시됩니다.

이러한 주제는 사실 그래픽스이론뿐만 아니라 서버 등 다양한 분야에 응용할 수 있습니다. 결국 어떻게 대상범위를 줄이거나 수학적인 우회 혹은 캐쉬를 통해 런타임의 효율을 추구할까의 문제니까요.

2004년에 역서가 출간되었고 제가 산건 2009년 4월에 샀네요.

20150827_110553

블로그를 검색해보니 구매시점의 포스팅도 남아있습니다.

[책] Game Programming Gems 외 4권

이 시점만 해도 역서를 위한 전문 용어들이 아직 정착되지 않아서 ‘캐슁’ 이라던가 재밌는 단어들이 많이 나옵니다 ^^
하지만 되도록이면 역자를 게임업계에서 섭외했기 때문에 번역 품질은 충분히 좋습니다. 요즘엔 볼 수 없는 교열 후기 같은게 들어있습니다(이제와서이지만 시리즈 에디터인 김도희님 수고 많으셨습니다. 감사합니다 ^^)