알라딘

헤더배너
상품평점 help

분류국내저자 > 컴퓨터/인터넷

이름:Pope Kim

최근작
2018년 1월 <Hello Coding 프로그래밍>

Pope Kim

꽃중년 소프트웨어 엔지니어. 연세대 법학과, 조지아테크 컴퓨터공학 대학원을 졸업했으며, 북미에서 헤일로, 피파, 마인크래프트 등의 게임개발에 참여했다. 현재 실리콘밸리 가상화폐 스타트업 글루와의 CTO이며 캐나다 BCIT 컴퓨터공학과 교수로 재직 중이다. 유튜브 채널 포프TV(https://www.youtube.com/user/KimPopeTV)를 통해 유익한 개발 이야기를 공유하고 있다. 저서로는 『셰이더 프로그래밍 입문』, 『북미취업 가이드북(2판)』가 있으며, 『게임 개발자를 위한 물리(개정 2판)』를 번역했다. 그 외에도 『게임 매니악스 슈팅 게임 알고리즘』, 『유니티 쉐이더 스타트업』 등의 도서 감수에 참여했다.  

대표작
모두보기
저자의 말

<셰이더 프로그래밍 입문> - 2012년 8월  더보기

책을 쓰게 된 배경 2007년 강의를 시작할 때 수업에 사용할 교과서를 찾기 위해 정말 많은 노력을 했지만 시중에 출간된 도서들 중 셰이더 입문서를 찾기란 거의 불가능했습니다. 몇 년이 지난 지금도 마찬가지입니다. 시중에 나와있는 셰이더 책들 대부분은 셰이더 코드를 작성할 수 있는 중고급 프로그래머만을 위한 것이었기 때문에 셰이더에 입문하는 학생들은 내용을 이해하지 못하고 포기하는 경우가 많았습니다. 그나마 셰이더 입문 내용이 DirectX 책에 담겨있는 경우가 있었지만 저자 나름 마땅한 책이 없다고 생각했던 이유는, __ 셰이더는 구색 맞추기 식으로 포함되어 너무 수박 겉핥기식이다. __ 학계에 계신 분들이 집필한 서적은 이론이나 문법 중심으로 이해하기 힘들다. __ 실무에 사용되지 않는 내용을 너무 많이 담고 있다. __ 지면수만 많아 책 값이 비싸다. 등 이었습니다. 결국 교과서 없이 강의를 시작했고 이론이나 수학에 치우치기보다는 실무에 적용할 수 있거나, 실무에서 사용할 수 있는 기초 개발 기법 중심으로 수업을 진행했습니다. 강의를 하면서 좋았던 점은 그리 어렵지 않게 생각했던 내용 중에 학생들이 이해하지 못하는 것을 하나씩 알아낼 때였습니다. 그래서 그걸 다시 쉽게 이해시킬 수 있도록 강의자료를 다듬고 다듬은 결과가 바로 이 책입니다. 강의를 하는 3년 내내 게임프로그래밍 학과 학생들이 이 과목을 AI 대학의 가장 훌륭한 수업으로 꼽을 정도였으니 좀 부끄럽지만 이 책을 여러분에게 자신있게 권해드립니다. 그리고 제 과목에서 만든 데모 프로그램을 포트폴리오로 삼아 Ubisoft 및 EA 같은 세계 유수의 회사에 취직한 학생들도 몇 됩니다. 저자 나름 가슴 뿌듯한 일입니다. 현재는 게임개발에 집중하기 위해 대학강의를 중단한 상황이지만, 이 내용을 그냥 썩혀두기에는 아깝다고 생각되어 책을 출간하기로 결정했습니다. 이 책이 셰이더를 배우려는 독자에게 조금이나마 도움이 되었으면 합니다. 이 책의 기본 원칙 강의에서도 그랬듯이 이 책을 집필할 때 다음의 원칙을 기초로 삼았습니다. 실습 위주 물론 셰이더를 작성할 때 수학이나 이론을 전혀 무시할 수 없지만, 저자의 오랜 강의 경험으로는 이론을 먼저 배우고 그걸 코드로 옮기는 것보다, 일단 코드를 작성하고 그 다음 막히는 곳에서 이론을 찾아보고 해결하는 것이 훨씬 더 훌륭한 학습방법이라 생각합니다. 왜냐하면 이렇게 문제를 해결하기 위해 찾아본 이론은 기억에 더 오래 남기 때문입니다. 따라서 이 책은 실습 위주로 구성되었으며, 책의 내용을 한 줄씩 따라하면서 코드를 작성하다 보면 어느덧 배경 이론까지 이해할 수 있도록 했습니다. 쉬운 설명 제 수업은 게임아트 학과 학생들도 꽤 청강을 하였습니다. 따라서 아티스트들도 이해할 수 있도록 쉽게 설명하는 것이 제 목표 중 하나입니다. 그러려면 무언가를 설명할 때, 수학공식을 보여주기보다는 실제 생활에서 일어나는 현상을 예로 드는 것이 훨씬 더 효과적이었습니다. 이 책을 집필할 때도 마찬가지 원칙을 따랐습니다. 책을 읽다 보면 이론적으로 100% 옳지 않는 설명도 가끔 보입니다. 그것은 말 그대로 설명을 쉽게 하기 위해 제 나름 이론을 적당히 무시하였거나 아니면 저조차 이론을 100% 이해하지 못했을 경우입니다. 게임 그래픽은 눈에 보이는 결과가 맞다면 그게 정답인 분야이므로 이론적으로 약간 틀린다 하여도 결과가 맞다면 전 크게 신경 쓰지 않습니다. 입문자만을 위한 책 이 책은 순수하게 입문자를 위한 책입니다. 이미 고급기법을 다루는 훌륭한 책이 시중에 많이 나와있는 상황에서 굳이 그 책들과 경쟁할 필요를 못 느끼고, 중복되는 내용을 다루면서 지면수를 늘리고 싶지도 않기 때문입니다. 여러분이 이 책을 본 후에 셰이더에 재미가 붙어 다른 고급기법을 즐겁게 찾아 볼 수 있다면 그것 만으로도 전 만족합니다. 그리고 정말 괜찮은 새 기법을 찾았다면 저에게 살짝 귀뜸이라도 해주면 더 좋겠습니다. 순서대로 배우는 내용 강의할 때 좋았던 점은 쉬운 내용부터 어려운 내용까지 순서대로 가르칠 수 있었다는 점입니다. 이 책도 그런 방식으로 진행됩니다. 처음 장부터 시작해서 천천히 지식을 축적해 간다고 할까요? 따라서 뒷장으로 가면 갈수록 기본적인 내용은 다시 설명하지 않습니다. 예를 들면 법선매핑을 배우기 전에 이미 조명기법을 배우게 되므로 법선매핑에서는 조명기법을 다시 설명하지 않는 거죠. 따라서 이 책을 읽을 때는 대학강의를 듣듯이 처음부터 순서대로 읽어야만 합니다. 이 책이 다른 셰이더 책처럼 여러 논문을 한군데 모아 놓은 게 아니므로 그 정도는 이해해 주면 좋겠습니다. 그리고 이 책은 지면수도 그리 많지 않으니 무리한 요구는 아닐거라 믿습니다. 이 책에서 다루는 내용 이 책에서 다루는 내용은 정점셰이더와 픽셀셰이더를 이용한 셰이더 기법입니다. 이 책은 크게 세 부분으로 나눠져 있습니다. PART I 셰이더의 정의를 알아본 뒤, 모든 셰이더 기법의 기초가 되는 색상, 텍스처매핑, 조명셰이더를 만들어 봅니다. PART II 1부에서 배운 내용에 살을 붙여 게임에서 널리 사용하는 스페큘러매핑, 법선매핑, 그림자매핑 등의 기법을 구현합니다. PART III 요즘 게임에서 점점 중요해져 가는 2D 이미지 처리 기법을 배워봅니다. 이 책은 DirectX 10과 11에서 새로 추가된 지오메트리geometry, 헐hull, 연산compute 셰이더는 다루지 않습니다. 이유는 초급자에게는 좀 어려운 내용일 뿐만 아니라 아직 실무에서 널리 이용되지 않기 때문에 실용적인 내용을 알려드리기가 조금은 어렵습니다. DirectX 10이 처음 소개될 때만 해도 홍보자료에서는 엄청 대단한 것처럼 광고를 해댔지만 실제 실무에서 제대로 이용한 경우가 없으니까요. 일단 이 책으로 기초를 다지고, 천천히 이 내용을 배워도 문제되지 않습니다. 대상독자 프로그래머 제가 가르쳤던 학생들은 게임 프로그래밍 학과 2학년 학생들로 제 과목을 듣기 전에 C++, 3D 수학, DirectX 등의 과정을 이미 마쳤습니다. 게임 개발자가 셰이더 프로그래밍에 입문하는 과정도 이와 다르지 않다고 생각합니다. 최소한 DirectX는 학습한 뒤에 셰이더를 살펴보는 게 보통이니까요. 이 책의 대상독자도 마찬가지입니다. 이 책을 보려면 최소한 C++와 DirectX 정도는 공부했어야 하며, 3D 수학까지 학습했다면 더 좋겠죠. 테크니컬 아티스트 요즘 들어 프로그래머와 아티스트 사이를 조율해주는 테크니컬 아티스트의 입지가 높아졌습니다. 그리고 테크니컬 아티스트가 셰이더 프로토타입을 만드는 경우도 허다합니다. 강의를 하던 도중에 일반 아티스트청강생도 어느 정도 이해를 했던 내용이므로 테크니컬 아티스트라면 아무 문제가 없겠죠? 테크니컬 아티스트는 굳이 DirectX를 직접 다루지 않아도 되므로 별다른 준비사항 없이 이 책을 봐도 됩니다. 책을 보다 이해가 안 되는 수학 같은 게 있다면 정석 책을 열어보거나 인터넷 검색을 해야 할지도 모르지만요. 각 장의 마지막에 DirectX 프레임워크를 다루는 내용이 있는데 그 부분만 건너 뛰면 됩니다. 온라인 커뮤니티 이 책을 보다 궁금한 사항이 있다면 토론장을 열어둘 예정이므로 저자의 블로그http://kblog.popekim.com를 방문하길 바랍니다. 정오표나 기타 업데이트도 이 블로그를 통해 공개할 예정입니다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자