Инкрементальная сборка в LDC

Любопытная статья по компилятору LDC от Johan Engelen – подробно разбирается инкрементальная сборка и кэширование объектных файлов в LDC 1.1.0.

https://johanengelen.github.io/ldc/2016/09/17/LDC-object-file-caching.html

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-битными версиями.