А вот как смотрится в движке пистолет Cerberus, известная PBR-модель Андрея Максимова:
PBR. Шероховатость
Теперь DGL автоматически генерирует размытые текстуры окружения для материалов с разной степенью шероховатости:
А вот как смотрится в движке пистолет Cerberus, известная PBR-модель Андрея Максимова:
Пока не уверен, правда, будет ли это поддерживаться в Atrium. Скорее всего, в DGL будет возможность переключаться между PBR-шейдером и обычным.
Оказалось, что нынешний формат, в котором хранятся модели для DGL, крайне неэффективен — меши хранятся в виде списка треугольников, и большие модели (1000 полигонов и более) загружаются движком неприлично долго. Сейчас экспериментирую с новым форматом, в котором данные хранятся в виде традиционных буферов вершин и индексов — как и следовало ожидать, любые модели теперь грузятся практически мгновенно.
Вышла бета-версия коллекции библиотек dlib 0.9.0. Из основных нововведений стоит отметить новый модуль dlib.math.tensor — реализацию тензоров с поддержкой как статического, так и динамического выделения памяти (еще один шаг, приближающий dlib к NumPy и Matlab). Также значительно улучшен пакет dlib.image: появился экспорт в BMP и TGA, двумерный foreach для изображений, диапазоны для окон и произвольных прямоугольных регионов. Новый пакет dlib.network, как планируется, будет содержать независимую от Phobos поддержку сети и веб-функциональность (пока в нем есть только парсер URL).
А еще Atrium был успешно портирован под FreeBSD.
Из ограничений можно отметить отсутствие сплиттинга полигонов, выходящих за пределы буфера кадра — когда-нибудь, может, исправлю.
Весь исходный код умещается в одном файле (<600 строк), не считая бибилиотеки dlib и биндинга к SDL для вывода изображения. Можете использовать его для самообразования или как основу для собственного программного рендера. В архиве есть сборка для Windows.
Все изменения в DGL, связанные с тенями, кстати, уже доступны в репозитории проекта.