Atrium в Блоге D

Atrium, dlib и другие мои главные проекты привлекли внимание авторов Блога D, где сегодня был опубликован соответствующий пост от Майка Паркера, автора Derelict. Это первый основательный отчет об Atrium на английском языке, если не считать анонса в ньюсгруппе.

http://dlang.org/blog/2016/09/16/project-highlight-timur-gafarov

Трассировщик лучей на D

Решил выложить свой трассировщик лучей, написанный для соответствующего цикла статей в «FPS» — может, кому-нибудь пригодится. Он умеет рендерить плоскости и сферы, поддерживает текстуры, отражения (в том числе размытые), туман, мягкие тени, Ambient Occlusion и антиалиасинг.

Рендерит не очень быстро, код не слишком оптимизирован (упор делался, в основном, на простоту и наглядность исходников). Основная оптимизация заключается в распараллеливании трассировки на несколько потоков, что дает заметный прирост производительности на многоядерных процессорах.

Проект написан на D, для работы с изображениями и математических вычислений использует библиотеку dlib. Исходники умещаются в 400 строк. Лицензия — public domain или CC0, на ваш выбор.

Скачать

Heat haze

Сделал эффект «искажения пространства», похожий на марево от жары — думаю применить его где-нибудь в игре:

x86_64! Ура, товарищи!

Наконец-то мне удалось собрать Atrium под 64-битную Windows! Пришлось ставить VS 2015, но оно стоило того…

Заодно проверил на практике LDC 1.0.0 — производительность, как и несколько лет назад, в разы выше, чем с использованием DMD, что не может не радовать. Теперь все тестовые сборки и промежуточные релизы будут собираться LDC и снабжаться 64-битными версиями.

Интерьер

Продолжаю работу над дизайном интерьера станции:

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

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

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

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

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

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

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

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

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