3D Graphics Rendering Cookbook

В августе этого года, после полутора лет напряженной работы, наконец-то вышла наша третья книга (про первую и вторую уже были посты на Хабре) ориентированная на разработку игр: 3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan.

image-loader.svg

Книга рассказывает как начать писать свой 3D движок «с нуля» на C++ используя OpenGL 4.6 и Vulkan 1.2, и во многом продолжает стиль первых двух книг. Книга построена в виде рецептов, которые последовательно добавляют новые фичи к коду и показывают как перейти от цветного треугольника к вот такой картинке:


image-loader.svg

Затрагиваются темы храниения геометрии и материалов сцены, PBR, glTF2, SSAO, HDR, OIT, shadow mapping, GPU frustum culling, ленивая загрузка текстур, интеграция физического движка с графикой. Большинство примеров имеют параллельные реализации на OpenGL 4.6 и Vulkan 1.2. Используются только open-source сторонние библиотеки, при этом показано как своими руками сделать многие вещи: сжатие текстур в ETC2, вычисление irradiance maps и LUTов для BRDF, конвертация сцены и текстур из 3D форматов передачи данных в форматы пригодные для быстрой загрузки движком и много чего другого.

Как всегда, никаких сторонних готовых движков не используется — только С++ и open-source библиотеки, только хардкор. Основной фокус на приктическую реализацию, а не на теорию (но по тексту даны ссылки на соответствующие статьи и презентации, чтобы прокачать матчасть).

Книга ориентирована на начинающих и intermediate разработчиков OpenGL, которые хотят перейти на OpenGL 4.6 или сразу на Vulkan.

P.S. Не стоит покупать эту книгу как вашу самую первую книгу по Vulkan. Пусть она будет как минимум вторая :)

К книге прилагаются исходники всех проектов по главам. Последняя версия доступна на GitHub: https://github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook

© Habrahabr.ru