LearnOpenGL — бесплатный онлайн-учебник, который учит современному (core-profile) OpenGL от основ до продвинутых техник. Ресурс подойдёт и тем, кто осваивает графику ради учёбы или карьеры, и любителям. Главное отличие от большинства материалов в сети: они либо зациклены на устаревшем immediate mode, либо страдают неполнотой и плохой документацией. Здесь же всё построено на понятных пошаговых примерах и не топит в море деталей с первых страниц. Опыт графического программирования не обязателен, но и опытные читатели найдут для себя свежие практические идеи, которые можно довести до реальных 3D-приложений.
Содержание начинается с самой сути: как OpenGL на самом деле рисует пиксели на экране и как этим знанием пользоваться для создания эффектных визуализаций. Дальше разбираются полезные приёмы: обход сцены, настройка освещения, загрузка кастомных моделей из 3D-редакторов, постобработка и многое другое. Отдельно выделена серия статей, где шаг за шагом создаётся небольшая игра — чтобы прочувствовать настоящий процесс графического программирования от начала до конца.
Сайт полностью бесплатный и останется таким. Всё содержимое доступно через меню слева, достаточно нажать «Introduction», чтобы начать. Для тех, кому ближе бумага, существует печатное издание — результат семи лет многократных правок и доработок. Оно идентично онлайн-версии по наполнению. Купить книгу можно на Amazon US, Amazon UK, Barnes & Noble и у других онлайн-ритейлеров. Автор предупреждает: на отдельных площадках цену порой неоправданно задирают, поэтому ориентироваться стоит примерно на $60; если видите сильно выше, лучше подождать, пока цены выровняются. Покупка печатного издания напрямую поддерживает проект.
Параллельно выложен и бесплатный PDF, свёрстанный из тех же исходников, что и физическая книга. Он удобен для чтения в дороге, заметок или самостоятельной печати. В этом варианте учтена офлайн-природа: URL прописаны полностью или вынесены в сноски, видео заменены статичными кадрами, а всплывающие подсказки отсутствуют. Следить за обновлениями и новостями проекта можно в Twitter автора.