Они ни в коем случае не являются «исчерпывающими» для игр, но, в частности, они являются хорошими книгами для компьютерной графики, так что начнем.
Основы компьютерной графики
Питер Ширли, Стив Маршнер
Amazon Link (третье издание) | Книжный сайт (второе издание)
(источник: images-amazon.com )
Эта книга охватывает тонну информации о многих областях компьютерной графики. Понятия «онлайн» (например, в режиме реального времени), а также «офлайн» (например, глобальное освещение) охватывают такие вопросы, как математика, затенение, графический конвейер, текстуры, структуры данных, теория света и цвета, концепции сетки и т. Д. Это определенно не ориентировано конкретно на игры, а скорее на концепцию компьютерной графики в целом. Книга написана не на каком-то конкретном языке программирования, а на языке математики.
Рендеринг в реальном времени
Томас Акенин-Моллер, Эрик Хейнс, Нати Хоффман
Amazon Link (третье издание) | Книжный сайт (третье издание)
(источник: images-amazon.com )
Эта книга ориентирована в первую очередь на "онлайн" (в режиме реального времени) графические методы. Он охватывает графический конвейер и связанную с ним математику, затенение и текстурирование, освещение, эффекты экранного пространства, NPR, сетки и кривые, а также некоторые методы ускорения. Глава, посвященная методам тестирования пересечений, стоит одной только книги, так как она является фантастическим справочником для тестирования коллизий между практически любым типом ограничивающего тома, который вы когда-либо захотите использовать. Здесь обсуждаются шейдеры, где они вписываются в конвейер, и для чего они могут быть использованы (что является важным знанием в современной графической работе), но вы, конечно, не могли изучить шейдерное программирование на любом языке из этой книги. Это общий обзор методов в реальном времени, а не книга по программированию. Опять же, язык, используемый в этой книге - математика.
Архитектура игрового движка
Джейсон Грегори
Amazon Link (первое издание) | Книжный сайт (первое издание)
(источник: gameenginebook.com )
Я бы добавил эту книгу в ваш список, если вы заинтересованы в графике, особенно в том, что касается игр. Грегори рассматривает системы больших игровых движков с высоты 10 000 футов, иногда давая вам примеры кода на C ++, чтобы проиллюстрировать свои идеи, но в основном это обзор того, что представляют собой основные подсистемы движка, как они работают, как они сочетаются друг с другом, и что вы следует подумать при проектировании / строительстве их. Рассматриваются 3D математика и C ++ (особое внимание уделяется программированию игр), а также менеджеры ресурсов, циклы симуляции, устройства ввода, методы отладки, движки рендеринга и анимации, столкновения и динамика твердого тела, а также системы игрового процесса. Единственные две основные подсистемы движка, отсутствующие в этой книге, - это аудио и сетевое взаимодействие, что честно, если не упомянуть об этом, поскольку книга уже занимает более 800 страниц.