← 블로그 목록

그래픽스와 시스템 프로그래밍의 감각을 키워 주는 고전은 여전히 유효하다

엔진과 IDE를 설명하는 책은 빠르게 낡지만 그래픽스와 시스템 프로그래밍의 고전은 오래 남는다. 이유는 도구 사용법이 아니라 조명, 가시성, 메모리 구조 같은 원리와 제약을 가르치기 때문이다. 최신 튜토리얼만으로는 만들어지지 않는 디버깅과 최적화 감각은 결국 지금도 반복되는 문제를 설명하는 책에서 자란다.

그래픽스와 시스템 프로그래밍의 감각을 키워 주는 고전은 여전히 유효하다

그래픽스와 시스템 프로그래밍의 감각을 키워 주는 고전은 여전히 유효하다

개발 서적에는 유통기한이 있다. 특정 버전의 엔진, 특정 프레임워크, 특정 IDE에 맞춘 책은 기술이 바뀌면 빠르게 낡는다. 그런데도 오래 버티는 책이 있다. 그래픽스와 시스템 프로그래밍 쪽 고전들이 특히 그렇다. 이유는 간단하다. 도구를 설명하기보다 원리와 제약을 설명하기 때문이다.

예를 들어 Real-Time Rendering은 특정 엔진 사용법을 가르치는 책이 아니다. 조명, 가시성, 공간 분할, 쉐이딩, 파이프라인 같은 문제를 어떻게 생각해야 하는지 설명한다. 그래서 세대가 바뀌어도 계속 참조된다.

오래 남는 책의 공통점은 원리를 가르친다는 점이다

좋은 고전은 버전 정보보다 질문을 남긴다. 왜 이 계산이 필요한가, 어떤 제약 때문에 이 구조가 나왔는가, 성능은 어디서 무너지는가 같은 질문들이다. 이런 책을 읽으면 최신 엔진 문서도 더 잘 읽힌다. 표면적 사용법 뒤에 있는 판단 근거가 보이기 때문이다.

그래픽스와 시스템 프로그래밍은 특히 하드웨어 제약, 메모리 구조, API 설계, 수학 모델을 함께 봐야 한다. 그래서 원리 중심의 책이 더 오래 산다.

지금 읽을 만한 고전은 최신 도구와 충돌하지 않는다

오래된 책을 읽는다고 과거 방식만 고집하자는 뜻은 아니다. 오히려 최신 도구를 더 잘 쓰기 위해 고전을 읽는 편이 낫다. 예를 들어 오늘날 언리얼이나 유니티를 써도, 렌더링 파이프라인과 쉐이딩 원리를 이해하면 디버깅과 최적화 감각이 달라진다.

결국 좋은 고전은 예전 방식이 아니라 지금도 반복되는 문제를 설명한다.

마치며

그래픽스와 시스템 프로그래밍을 깊게 이해하고 싶다면 최신 튜토리얼만 따라가는 것으로는 부족하다. 원리와 제약을 설명하는 고전을 함께 읽어야 감각이 생긴다.

도구는 계속 바뀌지만, 무엇이 병목을 만들고 무엇이 구조를 안정시키는지는 그렇게 빨리 바뀌지 않는다. 그래서 고전은 여전히 유효하다.

참고 자료

← 목록으로
Related

함께 읽으면 좋은 글

도서 리뷰게임 개발프로그래밍
게임 개발자에게 오래 남는 책은 기술책만이 아니라 설계, 팀, 출시를 함께 다루는 책들이다

게임 개발자에게 오래 도움이 되는 책은 엔진과 알고리즘에서 끝나지 않는다. Game Programming Patterns부터 The Art of Game Design, Blood Sweat and Pixels, Peopleware까지 프로그래밍·디자인·실전 출시 세 층위에 걸친 아홉 권을 역할별로 묶어 정리하고, 입문자·중급자·리더가 각각 어떻게 조합해 읽으면 좋을지 함께 짚는다.

게임 개발그래픽스컬링
컬링은 안 보이는 것을 덜 그려서 3D 장면을 버티게 만드는 기본 최적화다

3D 장면이 무거울 때는 폴리곤 수를 줄이는 것 못지않게 보이지 않는 것을 일찍 걸러내는 일이 중요하다. 백페이스, 프러스텀, 오클루전 컬링은 비슷해 보여도 해결하는 문제가 서로 다르고 비용 구조도 다르다. 안 보이는 이유가 방향 때문인지, 시야 밖이기 때문인지, 가려졌기 때문인지 구분해서 적용해야 한다는 점을 OpenGL과 Unity 문서를 함께 정리한다.

게임 개발프로그래밍리스프
고차 함수와 데이터 분리는 게임 로직의 변경 비용을 낮춘다

고차 함수와 데이터·로직 분리는 프로그램을 똑똑하게 만드는 마법이 아니라, 반복되는 패턴을 함수로 묶고 자주 바뀌는 설정을 코드 밖으로 빼서 변경 비용을 낮추는 추상화에 가깝다. SICP와 Unity ScriptableObject 사례를 함께 보면서, 게임처럼 규칙과 예외가 계속 늘어나는 환경에서 무엇을 코드로 두고 무엇을 데이터로 뺄지 가르는 기준을 정리한다.