Хронология развития движка Atrium

Порой интересно оглянуться назад и оценить пройденный путь. Atrium разрабатывается с 2013 года, и графический движок проекта с того времени претерпел серию значительных эволюционных изменений. Одновременно менялся и визуальный стиль игры:

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

PBR-окружение в Atrium

Продолжаю адаптировать Atrium к PBR, пробую различные варианты колорита окружения и объектов:

PBR. Продолжение

Адаптирую модель гравитационного излучателя к новому физически корректному рендеру:

GitHub снова заблокирован

Они все не уймутся. Не знаю, по ошибке или преднамеренно, но на днях в России был заблокирован IP-адрес 151.101.36.133, по которому находятся сервера GitHub для статических данных (assets-cdn.github.com, raw.githubusercontent.com). В результате веб-интерфейс Гитхаба оказался в неработоспособном состоянии. Странички проектов (gh-pages) тоже перестали работать. По всей видимости, блокировку пока осуществляют не все провайдеры (поэтому, наверное, пока все молчат), но это лишь вопрос времени.
В общем, огромное спасибо за это нашим дорогим властям. Уже в который раз.

PBR. Шероховатость

Теперь DGL автоматически генерирует размытые текстуры окружения для материалов с разной степенью шероховатости:

А вот как смотрится в движке пистолет Cerberus, известная PBR-модель Андрея Максимова:

PBR. Карта окружения

Еще несколько скриншотов нового PBR-шейдера:

PBR. Первые шаги

Решил реализовать в DGL модную сейчас технику физически обоснованного рендеринга (physically-based rendering). Уже имеются Cook-Torrance с нормализацией для отраженного света и image-based lighting для непрямого освещения:

Пока не уверен, правда, будет ли это поддерживаться в Atrium. Скорее всего, в DGL будет возможность переключаться между PBR-шейдером и обычным.

Matcap в DGL

Интересный альтернативный подход к рендерингу реалистичных материалов заключается в использовании простых сферических карт окружения с предрассчитанной освещенностью (в ZBrush их называют matcap). Получается очень эффектно — а главное дешево!

dlib и Cook в Awesome D

Два моих проекта — коллекцию библиотек dlib и программу сборки Cook2 — включили в репозиторий Awesome D — список самых интересных проектов на языке D, созданный по образцу Awesome Python. Там они стоят в одном ряду с Derelict, Dub, Vibe.d, GtkD, Orange, Mir и другими известными библиотеками и фреймворками.

https://github.com/zhaopuming/awesome-d