꽃미남 프로그래머 김포프가 창립한 탑 프로그래머 양성 교육 기관 POCU 아카데미 오픈!
절찬리에 수강생 모집 중!
프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
문과생, 비전공자를 위한 프로그래밍 입문책입니다.
jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다.
Posted by 터너 (TerNer)

안녕하세요! 이번에 게임 개발 포에버에서 연재를 하게 된 게임 그래픽스 프로그래머를 꿈꾸는 지망생 터너라고 합니다. 비록.. 필드 경험은 없지만 5년 동안 달려온(..) 결과로 얻은 프로그래밍 노하우와 지식들을 한번 공유해보자 하여 이렇게나마 연재를 하게되었..는데 그릇이 워낙에 작아서 도움이 되실법한 글을 작성할수 있을런지는 모르겠지만 잘 봐주셨으면 좋겠습니다. :^)

연재할 내용은 Modern C++ Style 위주로 작성 될것 같고 보시는 내내 도움 되셨으면 좋겠습니다. 앞으로 연재할 내용의 오탈자나 이상한 부분은 댓글로 직접 문의하셔도 좋고 제 블로그(http://cloudcie.blog.me/)에서 문의해주셨으면 하는 바램입니다.




시작하며..

C++은 (물론 다른 언어도 그렇지만) 템플릿이라는 강력한 무기를 가지고 있습니다. 우리는 이 템플릿과 포인터를 이용하여 엄청난 기능들을 구현할수 있고 또 프로그래머로 하여금 실수를 줄일수 있는 기능을 만들수 있다는 점에 주목해야 합니다. run-time에 처리할 연산을 compile-time에 처리하여 실행시간을 최소화 시키는데 도움을 주는 템플릿 메타프로그래밍이나, 그를 이용하여 프로그래머는 컴파일 타임에 분기점을 두는 정적 다형성과 같은 유용한 기능들을 구현하고 이용할 수 있습니다.

또한 이런 컴파일 타임의 처리에 중점을 두는 방식이 오래전부터 Modern C++ 스타일로 자리를 잡아가고 있으며 실제로 C++11 에서는 type_traits와 같은 템플릿 메타프로그래밍 라이브러리를 표준으로 채택하기에 이르렀습니다. 제 개인적인 견해로는 꼭 Modern C++ 스타일을 따를 필요는 없지만 좀더 도움을 줄수 있는 형식에 기반을 맞추는것이 도움이 많이 되지 않을까 싶기도 합니다. 이러한 방법은 런타임 연산 시간에 안좋은 영향을 미치는 경우는 거의 없을 것이기도 하니까 말이죠.

제 연재글에서는 기초적으로 boost 라이브러리의 내부 템플릿 메타프로그래밍 라이브러리인 mpl의 if_ 나, is_scalar 와 같은 메타 함수들을 직접 구현해보기도 하면서 템플릿 메타프로그래밍에 대한 기초적인 지식을 좀 더 익혀보고, 의문을 풀어보면서 연재글의 제목처럼 Modern C++ 을 애용하게 되는 길을 한 발자국씩 걸어가는 길을 걷게 될것입니다.

(※ 저도 이 연재 글을 작성하면서 틀린 점이 많을수 있다는 것을 상당히 확신하고(?) 있기 때문에 독자 여러분들도 제 글을 읽어보시면서 저와 함께 토론도 하면서 알아가는 장을 마련해나갈수 있었으면 좋겠습니다 :D)



반응형
,