[책] 셰이더 프로그래밍 입문
읽어야 할 책들이 밀려있다는 건 참 책임감 결여처럼 느껴진다. 요새는 읽어야 할 책이 마치 스택에 자동으로 쌓이는 것처럼 느껴지기도 한다. 물론 내가 구매한 책들이다. 하지만 낯설게 느껴지는 것은 참 오래 밀럿ㅆ기 때문이겠지. 이 책 셰이더 프로그래밍 입문은 이번년도 초에 구매한 책이다.이 책은 꼭 사야해! 하고 생각하며 알라딘으로 달려가서 얼른 구매한 이 책은 공교롭게도 오랫동안 내 책장에 박혀있어야 했다. 지하철에서 책을 읽는다는 한계때문에 될 수 있으면 어렵고 나에게 익숙하지 않은 책은 의식적으로 피해왔기 때문이다.
이 책을 뽑아든 것은 사실 그 책임감 결여를 도저히 참을 수 없었기 때문이다. 읽지 않을 책 익히지 않을 지식. 그것들이 대체 무슨 소용이란 말인가. 그래서 굉장히 어렵겠구나.. 하고 생각하면서도 출근길에 책을 뽑아 나왔다.
최근 폴이 나에게 셰이더 관련하여 2d 라이트 셰이딩한 것을 보여준 적이 있었다. 유니티 에셋 스토어에 올라와 있는 어떤 2d 리얼타임 라이트 효과를 보여주며 이건 매시를 업데이트 틱마다 만들어서 그 위에 머터리얼을 씌워 라이트를 구현하고 있다며 셰이더를 써서 성능상의 이점이 있도록 만들어 보았다며 텍스쳐맵과 셰이더의 원리에 대해 설명해 주었었다.
당시에는 사실 전혀 귀에 들어오지 않았다. 모르니까.. 그리고 나와는 굉장히 동떨어진 기술처럼 느껴지기도 했고.
하지만 이 책을 읽고 나니 셰이더라는 기술이 내 생각처럼 그렇게 먼 기술만은 아니구나 하는 걸 깨닫게 되었다. 많은 지식들이 그렇듯 막상 알고 나면 그 지식에 그리고 그 지식을 깨달은 나에게 관심이 가게 마련이다.
3d 그림자를 구현하는 챕터까지 보고 나서는 왠지 어느정도 폴이 말씀하신 걸 이해할 수 있을 것 같았다. 물론 확실히 이해한다고 하긴 무리가 있는 정도지만..
아무튼 이 책은 처음부터 차근차근히 셰이더에 대해 잘 가르쳐주는 책이다. 이론보다는 실습으로. 그리고 만약 다이렉트x를 사용하는 프로그래머가 본다면 코드에서도 활용할 수 있게 셰이더 적용 예제까지 따로 두었다.
푹 빠져서 읽다보니 어느새 다 읽었다.. 이건.. 바로 다시 한 번 읽어야겠다. 재밌었다.