Raysail - это Raytracer типа Monte Carlo, основанный на трассировке Learn Ray в одной серии выходных с использованием Rust. Он был разбит из проекта Remda, который реализует функции из первых двух книг серии. Я пытался добавить функции третьего, но у меня есть сомнения в том, что мой код на самом деле верен, даже что полученные изображения выглядят хорошо.
Кроме того, Raysnail включает код из QBVH-Rust-Ray-Tracer, а именно модуль Triangle Mesh, загрузка файла OBJ и код материала Blinn-Phong.
Помимо продолжающейся работы по включению всех улучшений, проложенных в третьей книге серии, подходящей как «остальная часть вашей жизни», есть некоторые функции, которые я хочу добавить в Raysnail далее.
В примере «preview_sdl2» существует очень грубая реализация окна предварительного просмотра, но оно должно стать более отделенным от примеров сцены и параметров командной строки, чтобы отслеживать некоторую сцену с заданной высотой и шириной, используя предварительный просмотр.
Я хочу внедрить хотя бы частичную поддержку языка определения сцены Povray (SDL). К сожалению, определения материала Povray сильно отличаются от материалов в лучевой основе, и может быть жестко или даже невозможно правильно подражать материалам Povray, прошедшие тривиальные примеры. На момент написания этого я внедрил очень рудиментарный анализатор SDL, который может читать определения камеры и сферы Povray (см. SDL/Пример.sdl). Я хочу расширить это для большего количества геометрии и материалов, но, вероятно, это будет только поддержать подмножество функций Povray SDL.
Как поклонник 3D -фракталов, я хотел бы внедрить какой -то фрактальный код рендеринга. На данный момент существует грубая импляция Мандельбулбы, которая делает лишь очень низкое качество, но это может служить доказательством концепции, что IUT можно использовать код Raysnail для визуализации 3D -фракталов. Может быть, это требует другого фронта, хотя.
Пожалуйста, проверьте Wiki для полного списка функций и планов: https://github.com/varkalandar/raysnail/wiki
Если вы установили ржавчину и груз, это простой способ запустить raysnail - это команда:
cargo run -r --bin raysnail -- -w 800 -h 500 --samples 65 --scene sdl/example.sdlGPLV3
Кроме:
example/earth-map.png , скачать из НАСА, падает в общественном доступе.