Предисловие: Прежде всего эта статья основана на моем личном опыте, который не является абсолютно и единственно истинным. Я старался обобщить и выявить те фундаментальные вещи обучения, которые, по моему мнению, станут полезной опорой для всех.
Классическое академическое образование порой бывает очень сложным, рутинным и непонятным. Достаточно только заболеть на пару дней, и ты уже в поте лица пытаешься наверстать упущенные знания по матану где-то на mathprofi.ru
Согласно исследованию НИУ ВШЭ «От совмещения учебы с работой к совмещению работы с учебой» (К. В. Рожкова, С. Ю. Рощин, П. В. Травкин, «Вопросы образования», 2024, № 2), около 53% студентов очной формы обучения работали хотя бы один месяц за время учебы в вузе. На первом курсе бакалавриата работают около 18% студентов, к выпускному курсу доля вырастает до 35% у бакалавров и до 40% у специалистов. Чаще других учебу с работой совмещают студенты направления «Математика и компьютерные науки» — 58%; авторы связывают это с широкими возможностями удаленной занятости для тех, у кого есть цифровые компетенции. На мой взгляд, отсюда следует и рост потребности в самостоятельном обучении, а оно требует структурированного подхода и проверенных материалов. Это уже не говоря о тех, кто пытается не забывать о личной жизни: спорт, студенческий актив, личные интересы и другое.
Также, на мой взгляд, имеет место проблема конспектирования лекции в реальном времени. Не всегда удается одновременно усваивать слова лектора и записывать.
Таким образом, этой статьей я хочу предоставить доступ к удобному и систематизированному набору академических знаний. Этот roadmap в мир КГ является дополнением к академическому образованию, он поможет облегчить учебу в университете: лучше понимать структуру и дать ссылки на материалы. К нему нужно относиться как к вспомогательному инструменту в обучении
Для кого этот roadmap
Студентам профильных специальностей — прикладной математики, информатики, вычислительной математики. Roadmap не заменяет учебную программу, а идет рядом с ней: показывает, зачем нужна каждая дисциплина и что читать, когда лекция прошла мимо.
Тем, кто учится самостоятельно. Если профильного образования нет, а вместо системы — стопка разрозненных туториалов, здесь вы найдете последовательность: что за чем изучать и на каком материале.
Разработчикам из смежных областей — тем, кто пришел из бэкенда, геймдева на готовых движках или машинного обучения и хочет разобраться, как графика устроена изнутри, а не только на уровне API.
Преподавателям — как готовая структура курса и подборка проверенных материалов, которую можно разобрать на части и использовать у себя.
Пара слов про ИИ
Не сказать про ИИ в такой статье сегодня было бы неправильно. ИИ — действительно мощный инструмент в учебе: он позволяет быстро начать изучение нового материала, объяснит незнакомый термин своими словами и не устанет отвечать на глупые вопросы.
Но в этом же и главная опасность. Знания, полученные таким путем, лишены опыта самостоятельного исследования: вы не искали ответ сами, не заходили в тупики, не сверяли источники — а именно это и закрепляет материал в голове. Готовый ответ легко читается и так же легко забывается.
Как правильно использовать ИИ в учебе, я и сам пока не знаю. Мне сейчас интереснее наблюдать: что студенты спрашивают у ЛЛМок, а что все-таки разбирают сами, и какими программистами они становятся ближе к старшим курсам. Ответ на этот вопрос мы, похоже, узнаем все одновременно.
Все, о чем дальше пойдет речь и многие другие полезные материалы, собраны в одном месте — www.computer-graphics.xyz. Там дорожная карта разбита по этапам и дисциплинам, а так же есть раздел с полезными материалами и заметками. В статье я привожу дорожную карту целиком, чтобы было видно логику и связи между темами.

Вся дорожная карта целиком. Дальше — по этапам, с материалами для каждой дисциплины.
Этап 1. Основы математики и программирования

Основы математики
Этот этап может показаться особенно сложным и скучным при самостоятельном обучении — и это действительно так, очень сложно сходу увидеть прикладную часть этих знаний. Математика охватывает огромный спектр тем, в которых легко потеряться, особенно если углубляться в теории, не имеющие прямого применения на начальном этапе. Обучение в таком случае превратится в бесконечный процесс. Чтобы не утонуть в сложностях, рекомендуется подходить к изучению этих разделов математики по спирали: сначала осваивать базовые понятия каждого раздела, а затем постепенно возвращаться к ним, расширяя и углубляя понимание.
Математический анализ
Математический анализ обобщает математические операции и концепции, которые применимы в компьютерной графике. Он охватывает такие аспекты, как переходы между системами координат, параметрические модели, объекты вращения и т.п. Все эти элементы могут быть описаны и преобразованы с помощью математических функций и уравнений.
Материалы для изучения
[easy] Суть математического анализа. Интерактивное введение
[easy] Теория пределов. Теория пределов от mathprofi
[easy] Производные. Производные от mathprofi
[easy] Графики и функции. Графики и функции от mathprofi
[easy] Функции нескольких переменных. Функции нескольких переменных от mathprofi
[easy] Интегралы. Интегралы от mathprofi
[easy] Числовые ряды. Числовые ряды от mathprofi
[medium] Фихтенгольц Г.М. “Основы математического анализа (Часть 1-2)”. Классический университетский учебник
[medium] Ильин В.А. “Основы математического анализа (Часть 1-2)”. Классический университетский учебник
[medium] Ильин В. А., Садовничий В. А. “Математический анализ. Начальный курс”. Классический университетский учебник
[easy] Бохан К. А. “Курс математического анализа (Том 1-2)”. Учебник для студентов педагогических вузов, простое изложение материала
[medium] Демидович Б. П. “Сборник задач и упражнений по математическому анализу”. Легендарный сборник задач, на котором выросло не одно поколение студентов
Линейная алгебра
Линейная алгебра и аналитическая геометрия — это самое важное, что необходимо усвоить в начале. Линейная алгебра дает фундаментальные знания работы с векторами, матрицами и пространствами, которые представляют собой инструменты работы с геометрическими объектами.
Материалы для изучения
[easy] Сущность Линейной Алгебры. Интерактивное введение
[easy] Линейная алгебра для разработчиков игр. Базовые концепции линейной алгебры
[easy] Алгебра. Линейная алгебра от mathprofi
[medium] Ильин В.А. Позняк Э.Г. “Линейная алгебра”. Классический университетский учебник
Аналитическая геометрия
Линейная алгебра и аналитическая геометрия — это самое важное, что необходимо усвоить в начале. Геометрия является областью, изучающей пространственные фигуры. Компьютерная графика повсеместно состоит из геометрических фигур.
Материалы для изучения
[easy] Аналитическая геометрия. Аналитическая геометрия от mathprofi
[medium] Ильин В.А. Позняк Э.Г. “Аналитическая геометрия”. Классический университетский учебник
Дискретная математика
Дискретная математика дает теоретические основы для работы с разными структурами данных. Логика, графы, деревья, множества, отношения и т.д. - все это важные элементы прикладной математики в целом.
Материалы для изучения
[medium] Новиков Ф.А. “Дискретная математика для программистов”
Кристофидес Н. “Теория графов. Алгоритмический подход”. Одна из лучших книг по теории графов
Теория вероятностей и математическая статистика
Компьютерная графика активно использует вероятностные и статистические методы, например, для симуляции отражения и преломления света, моделирования физических процессов, обработки изображений и задач компьютерного зрения
Материалы для изучения
[easy] Теория вероятностей. Теория вероятностей от mathprofi
[easy] Основы теории вероятностей. Курс по основам теории вероятностей на stepik
[easy] Основы теории вероятностей 2. Продолжение курса по основам теории вероятностей на stepik
[easy] Математическая статистика. Математическая статистика от mathprofi
[easy] Основы статистики. Курс по основам статистики на stepik
[easy] Гмурман В. Е. “Теория вероятностей и математическая статистика”. Легендарный университетский учебник
[easy] Гмурман В. Е. “Руководство к решению задач по теории вероятностей и математической статистике”. Решебник
Основы программирования
Программирование — это прежде всего навык, который развивается через регулярную практику. Особенно в задачах, связанных с компьютерной графикой, визуализацией и численными расчётами, важно уметь писать не только рабочий, но и высокопроизводительный код. Это требует внимания к алгоритмам, структурам данных и особенностям архитектуры компьютеров. Также полезно помнить, что программирование — это область, где обучение никогда не заканчивается: появляются новые инструменты, подходы и парадигмы.
Языки программирования
Первым делом, язык программирования - это инструмент, инструмент для общения с компьютером. Важно еще понимать, что не существует универсального ЯП, каждый ЯП решает определенные задачи
Материалы для изучения
[easy] Основы C++. Яндекс хендбук
[easy] Learn C++. Большой набор материалов по изучению C++
[medium] Просто о шаблонах С++. Введение в метапрограммирование на C++
[medium] Программирование на C++, часть 1. Качественные и крутые лекции. Не подходят для изучения с нуля
[medium] Программирование на C++, часть 2. Качественные и крутые лекции. Не подходят для изучения с нуля
[medium] Лекции C++. Продвинутые и короткие лекции по стандартам C++
[easy] Основы python. Яндекс хендбук
[easy] Курс python. Opensource курс по python
[easy][en] Python. Python Tutorial (geeksforgeeks)
[medium] Андрей Александреску “Современное проектирование на С++”. Хорошая книга по метапрограммированию
[medium] Скотт Мейерс “Эффективный и современный С++. 42 рекомендации”. Хорошая книга по C++11 и C++14
Алгоритмы и структуры данных
В изучении этих навыков очень важно понимать практическое применение — так они будут усваиваться лучше. Знание ценно только тогда, когда оно соотносится с реальными целями и задачами. Поэтому очень трудно подобрать материалы для изучения этой темы. Это все равно что обучать пилотов, просто дав им инструкцию к самолёту и надеяться, что после прочтения они сразу смогут летать. Алгоритм — это последовательность шагов, необходимых для решения задачи. Структуры данных — это способ хранения и организации данных.
Материалы для изучения
[easy] Основы алгоритмов. Яндекс хендбук
[hard] Дональд Кнут “Искусство программирования (Том 1-4)”. Легендарный четырехтомник, который не так просто осилить
[medium] Кормен Т. “Алгоритмы. Построение и анализ”. Классическая книга
[medium] Никлаус Вирт. “Алгоритмы и структуры данных”. Классическая книга
Этап 2. Основы компьютерной графики и программирование графики

Основы компьютерной графики
На этом этапе начинается знакомство с тем, ради чего всё и затевалось — с самой компьютерной графикой. Здесь математическая теория превращается в визуальные образы. Этап закладывает фундамент для понимания того, как изображения формируются, обрабатываются и отображаются на экране. Совмещайте теорию с практикой — это отличная возможность реализовать простейший рендер «с нуля». Даже простая реализация матрицы поворота или цветовой коррекции поможет глубже понять, как работает графика «изнутри».
Основы цифровой обработки изображений
Изучает алгоритмы и методы обработки цифровых изображений. Чаще всего цифровая обработка изображений (ЦОИ) сводится к цифровой фильтрации изображений: устранение шумов, сглаживание, повышение резкости и т.д. ЦОИ – это очень большой раздел математики.
Материалы для изучения
Анализ изображений и видео, часть 1. Хороший курс, местами упоминаются термины анализа данных
Анализ изображений и видео, часть 2. Хороший курс, местами упоминаются термины анализа данных
[en] First Principles of Computer Vision. Youtube-канал с описанием основных алгоритмов ЦОИ и компьютерного зрения
Гонсалес Р. “Цифровая обработка изображений”. Одна из фундаментальных книг, охватывает все аспекты ЦОИ
Математические основы компьютерной графики
Компьютерная графика (КГ) — область информатики, изучающая совокупность методов и приемов для преобразования данных в графическое представление. Ее математический аппарат представляет собой симбиоз линейной алгебры и аналитической геометрии
Материалы для изучения
[en/ru] Render tutorial. Создание упрощенной графической библиотеки на подобии OpenGL
[en/ru] Ray cast tutorial. Создание клона игры Wolfenstein 3D без использования графических библиотек
[en/ru] Ray trace tutorial. Написание трассировщика лучей на C++
[en/ru] Ray trace KABOOM tutorial. Рендер взрыва трассировкой лучей на C++
[en] Ray Tracing in One Weekend. Серия обучающих материалов по трассировке лучей
[en] Scratchapixel. Сборник обучающих материалов по компьютерной графике с очень приятным повествованием.
[en] Eric Lengyel “Mathematics for 3D Game Programming and Computer Graphics”. Одна из фундаментальных книг по КГ, описывающая простым академическим языком математические основы КГ.
[en] Tomas Akenine-Moller “Real-Time Rendering”. В интернете часто советовали эту книгу начинающим.
Программирование графики
На этом этапе начинается освоение специализированных инструментов для работы с графикой. Эти средства выступают своего рода «обёрткой» над математическим аппаратом компьютерной графики. Важно погрузиться в тонкости выбранного инструмента, ведь именно они позволяют эффективно управлять ресурсами и видеопамятью, настраивать конвейер рендеринга, обрабатывать события и многое другое.
Графические библиотеки
Графическая библиотека – это программная библиотека, предназначенная для решения задач визуализации. Как правило, она предоставляет оптимизированные версии функций, которые выполняют распространённые задачи рендеринга (отрисовка треугольников, растеризация и т.д.). Основные технологии: OpenGL, Vulkan, Metal, Direct3D
Материалы для изучения
[en] Vulkan tutorial. Хороший обучающий материал по Vulkan. Официальный туториал основан на нем
[en] The book of shaders. Руководство по написанию шейдеров
[en] Slang shading language. Не пробовал, но предварительно нравится. Красивый и удобный, мне кажется, что он способен решить проблему унификации в шейдерных языках.
[en] Render pipeline. Страница на вики про конвейер рендера
[en] Metal Sample Code. Официальное руководство с примерами Metal
[en] DirectX tutorial. Серия уроков по DirectX
[en] DirectX Graphics Samples. Официальные примеры кода DirectX
[en] LearnOpenGL. Обучающий материал по OpenGL
[en/ru] Джейсон Грегори “Игровой движок. Программирование и внутреннее устройство”. Бестселлер, лучшая книга про проектирование игровых движков.
Игровые движки
Игровой движок - это фреймворк, предназначенный в первую очередь для разработки видеоигр и обычно включающий соответствующие библиотеки и вспомогательные программы. Рекомендация по обучению: в изучении игровых движков гораздо важнее практика, чем теория.
Материалы для изучения
[en/ru] Unity Learn. Официальные обучающие материалы по Unity с разными уровнями сложности
[en] Learn Unreal Engine. Библиотека обучающих материалов по Unreal Engine
[en/ru] Джейсон Грегори “Игровой движок. Программирование и внутреннее устройство”. Бестселлер, лучшая книга про проектирование игровых движков.
Этап 3. Продвинутые знания

Этапы 3 и 4 идут параллельно: узкая специализация вырастает из продвинутых знаний.
На этом этапе изучаются продвинутые аспекты компьютерной графики, которые позволяют решать более сложные и трудоёмкие задачи. Освоение этих тем требует уверенной фундаментальной подготовки — особенно в области математики, алгоритмов и программирования. Эти знания открывают путь к профессионализму и позволяют по-настоящему глубоко понимать, как устроены современные системы рендеринга. Многие дисциплины этого этапа пересекаются, и понимание одной будет влиять на понимание других.
Вычисления на видеокартах (GPGPU)
Вычисления на графических процессорах — методика использование графического процессора видеокарты для математических вычислений. В основном выделяют технологии: CUDA (NVidia devices), OpenCL (most devices), Metal (Apple devices), ROCm (AMD devices)
Материалы для изучения
[ru] Вычисления на видеокартах (2022). Курс, в котором рассказываются общие концепции GPGPU без привязки к какой-то конкретной технологии
[ru] Вычисления на видеокартах (2025). Курс, в котором рассказываются общие концепции GPGPU без привязки к какой-то конкретной технологии
[ru] Профилирование и ускорение GPGPU. Короткий курс из двух лекции по ускорению работы GPGPU
[en] Metal Sample Code. Официальное руководство с примерами Metal
Численные методы
Численные методы изучают алгоритмы, которые позволяют находить приближённые, но достаточно точные решения широкого спектра сложных задач. Например: решение систем линейных и нелинейных уравнений, численное решение дифференциальные и интегральные уравнения, интерполирование и приближённое вычисление функций, решения задач численной линейной алгебры и т.д.
Материалы для изучения
Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. “Численные методы”. Классический университетский учебник
[en] William H. Press and others “Numerical Recipes”. Сборник алгоритмов численных методов
[ru] Численные методы. Часть 1. Лекции МехМата МГУ. Лектор также соавтор популярной одноименной книги
[ru] Численные методы. Часть 2. Лекции МехМата МГУ. Лектор также соавтор популярной одноименной книги
[ru] Численные методы. Семинары. Часть 1. Семинары МехМата МГУ. Лектор также соавтор популярной одноименной книги
[ru] Численные методы. Семинары. Часть 2. Семинары МехМата МГУ. Лектор также соавтор популярной одноименной книги
Вычислительная геометрия
Вычислительная геометрия изучает алгоритмы для решения геометрических задач. В ней рассматриваются такие задачи как триангуляция, построение выпуклой оболочки, определение принадлежности одного объекта другому, поиск их пересечения и т. п.
Материалы для изучения
Фокс А., Пратт М. “Вычислительная геометрия. Применение в проектировании и на производстве”
Методы оптимизаций
Оптимизация в математике — задача нахождения экстремума (минимума или максимума) целевой функции в некоторой области конечномерного векторного пространства. Методы оптимизаций играют важнейшую роль в машинном обучении, именно на этих методах основаны все алгоритмы обучения
Материалы для изучения
[ru] Линейная оптимизация. Лекции CS Space
[ru] Нелинейная оптимизация. Лекции СS Space
Физически корректный рендеринг
Physically based rendering (PBR) — это подход в компьютерной графике, который позволяет рендерить фотореалистичные изображения.
Материалы для изучения
[en] Physically Based Rendering: From Theory To Implementation. Онлайн-книга по реализации PBR рендер. Практико-ориентированная подача материала, но чересчур последовательная структура, поэтому ее трудно использовать как справочник
[en] Julian Fong, Magnus Wrenninge, Christopher Kulla and Ralf Habel “Production volume rendering: SIGGRAPH 2017 course”. Большая статья, описывающая техники современного объемного рендеринга в кинопроизводстве
[en] Radiometry: Overview. Теория в заметках по радиометрии используемая в PBR (блог Moments in Graphics)
[en] Spectral rendering: Overview. Теория в заметках по спектральному рендерингу (блог Moments in Graphics)
Этап 4. Узкоспециализированные знания
На этом этапе изучаются навыки, необходимые для решения прикладных задач в конкретных областях — будь то медицина, ракетостроение, архитектура или компьютерное зрение. Эти знания не входят в обязательную часть обучения, но становятся критически важными при работе над реальными проектами.
Обработка и визуализация томографических данных
Изучает методы и подходы визуализации МРТ, КТ и прочих томографических изображений. Чаще всего изображения хранятся в формате DICOM (Digital Imaging and Communications in Medicine).
Материалы для изучения
[en] Курсы по основам МРТ. Курс ориентирован больше на медицинские аспекты, чем математические.
Наттерер Ф. “Математические аспекты компьютерной томографии”
Аганов А.В. “Введение в магнитно-резонансную томографию”. Учебно-методическое пособие
Фотограмметрия
Методика сканирования объектов, которая использует фотокамеры или их комбинации для точного измерения формы, размера и положения объектов в пространстве
Материалы для изучения
Колориметрия
Это наука о цвете и методы его измерения
Материалы для изучения
[en] Wyszecki, Günter “Color science : concepts and methods, quantitative data and formulae”
[en] Библиотека colour science. Отличная python библиотека, в которой все реализовано
[ru] Цветовая вычислительная фотография. Часть 1: Теория цвета. Доступное введение в колориметрию
[ru] Цветовая вычислительная фотография. Часть 2: Стандарты CIE 1931. Доступное введение в колориметрию
[ru] Цветовая вычислительная фотография. Часть 3: За границами стандарта CIE 1931. Доступное введение в колориметрию
Этап 5. Дополнительные навыки

В последние десятилетия математика стала настолько глубоко проникать в компьютерную графику, что найти область, не связанную с теми или иными задачами графики, становится всё сложнее. Многие современные методы опираются на нетривиальные математические конструкции, и их понимание может дать ощутимое преимущество. На этом этапе собраны не самые популярные, но потенциально ценные навыки, которые могут пригодиться при решении сложных или нестандартных задач.
Вместо заключения
Проект открытый, и я продолжаю его дополнять, и он точно не идеален: где-то не хватает описаний, где-то — материалов, где-то нейронка мне кривую картинку нарисовала и т.д.

