понедельник, 29 августа 2016 г.

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

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


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

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

Скачать

воскресенье, 14 августа 2016 г.

Heat haze

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


вторник, 2 августа 2016 г.

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

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

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