Данная страница используется в качестве предисловия и оглавления к циклу заметок (туториал) по OpenGL.
Автор ставит перед собой цель написать простое и понятное руководство по библиотеке для работы с трехмерной графикой OpenGL. В процессе работы над заметками разработаны классы и функции, упрощающие работу с интерфейсом OGL.
Все заметки сопровождаются промежуточными релизами в репозиториях.
Модели, используемые в заметках доступны в репозитории resources.
Оглавление:
- OpenGL 1: начало работы в VS Code — загрузка библиотек, настройка IDE
- OpenGL 2: графический конвейер, буферы и шейдеры — разбор графического конвейера, вершинного и фрагментного шейдеров, а так же буферов вершин и индексов для рисования треугольника и прямоугольника
- OpenGL 3: класс модели, uniform-переменные и камера — разработка класса модели, работа с трехмерной камерой и трансформации модели в пространстве
- OpenGL 4: текстуры модели — теория о текстурах в OpenGL и разработка класса текстуры
- OpenGL 5: загрузка .OBJ моделей — теория об устройстве OBJ файлов и библиотек материалов, разработка функции-загрузчика с использованием библиотеки tinyOBJloader
- OpenGL 6: класс шейдерной программы — использование uniform-буфера и разработка класса шейдерной программы
- OpenGL 7: освещение ч.1 — подготовка данных и расчет простых моделей освещения (плоское, Гуро, Фонг, Блинн-Фонг)
- OpenGL 8: буфер кадра — работа с буферами кадров
- OpenGL 9: освещение ч.2 — отложенный рендер, отладочный вывод источника и множество источников освещения
- OpenGL 10: освещение ч.3 — реализация направленного и параллельного источников освещения
- OpenGL 11: тени ч.1 — реализация обычных и каскадных карт теней для направленного источника
- OpenGL 12: Кубическая текстура и скайбокс — работа с кубическими текстурами и создание скайбокса
- OpenGL 13: тени ч.2 — вычисление теней от точечного источника и прожектора с помощью массива кубических текстур
- OpenGL 14: тени ч.3 — метод окружающего затенения в пространстве экрана (SSAO)
- OpenGL 15: гамма-коррекция — теория и практика по гамма-коррекции
- OpenGL 16: рельефное текстурирование — использование карт нормалей и высот для рельефного текстурирования моделей с помощью методов normal mapping, parallax mapping, displacement mapping.
- OpenGL 17: выбор объектов и элементы управления мышью — выбор объектов и манипуляции с ними (перемещение, вращение и масштабирование)
- OpenGL 18: освещение ч.4 — физически-корректный рендеринг
- OpenGL 19: загрузка .glTF ч.1 — загрузка сцен без анимации
- OpenGL 20: загрузка .glTF ч.2 — загрузка сцен с анимацией узлов
- OpenGL 21: загрузка .glTF ч.3 — загрузка сцен со скелетной анимацией
Дополнение к курсу заметок:
- OpenGL: ограничение частоты кадров — различные реализации способов ограничения FPS.