이 책을 선택한 것을 환영한다. 게임 개발에 필요한 셰이더 작성의 이론과 실습을 최대한 친절하게 소개하려는 의도로 이 책을 집필했다. 셰이더 작성은 매우 큰 주제라고 할 수 있다. 나 역시 처음 셰이더를 접했을 때 매우 당황스러웠던 기억이 있다. 이 책을 통해 독자가 그런 당황스러움에서 벗어나고, 게임 그래픽이라는 방대한 세상에 빨리 그리고 자신감 있게 첫발을 내딛게 하는 것이 나의 바람이다.
이 책은 '목수가 연장을 만드는 법까지 알 필요는 없다'는 기본 철학을 바탕으로 했다. 아름다운 시각 효과를 위한 셰이더를 만들려고 렌더링 엔진을 만드는 방법까지 알 필요는 없다고 생각한다. 특히 이 일을 처음 시작할 때는 더욱 그렇다. 이 책은 독자가 창의적으로 다양한 시도를 하고, 멋진 것을 만들고, 나아가 그 과정에서 재미를 느끼는 데 중점을 뒀다. 그런 목표에 집중하기 위해 그래픽 프로그래머가 되는 방법을 안내하거나 체계적인 수학 교육을 시도하지는 않는다(다양한 주제를 다루다 보니 약간의 수학 내용이 나오기는 한다). 대신 아주 기초적인 부분에서 출발해 현대 게임이 어떻게 화면에 대상을 그리는지 설명한다. 그 다음 원하는 화면을 그리기 위한 셰이더 작성 실습으로 곧바로 들어간다. 이 과정에서 수많은 예시 코드와 참고 그림을 보게 된다. 그리고 이 책을 마칠 무렵이면 현재 가장 인기 있는 게임에서 볼 수 있는 라이팅 환경과 셰이더를 직접 재현하는 단계에 이를 것이다.
이 책을 마치고 그래픽 프로그래밍을 더 공부하고자 결심하거나, 자신만의 렌더링 엔진을 만들거나, 좀 더 고급스러운 셰이더 테크닉을 원할 수 있다. 이 책이 한결 심화된 주제를 위한 탄탄한 기초를 제공할 것으로 기대한다.