Решил выложить свой трассировщик лучей, написанный для соответствующего цикла статей в "FPS" - может, кому-нибудь пригодится. Он умеет рендерить
плоскости и сферы, поддерживает текстуры, отражения (в том числе
размытые), туман, мягкие тени, Ambient Occlusion и антиалиасинг.
Рендерит не очень быстро, код не слишком оптимизирован (упор делался, в основном, на простоту и наглядность исходников). Основная оптимизация заключается в распараллеливании трассировки на несколько потоков, что дает заметный прирост производительности на многоядерных процессорах.
Проект написан на D, для работы с изображениями и математических вычислений использует библиотеку dlib. Исходники умещаются в 400 строк. Лицензия - public domain или CC0, на ваш выбор.
Скачать
Рендерит не очень быстро, код не слишком оптимизирован (упор делался, в основном, на простоту и наглядность исходников). Основная оптимизация заключается в распараллеливании трассировки на несколько потоков, что дает заметный прирост производительности на многоядерных процессорах.
Проект написан на D, для работы с изображениями и математических вычислений использует библиотеку dlib. Исходники умещаются в 400 строк. Лицензия - public domain или CC0, на ваш выбор.
Скачать