YafaRay

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
YafaRay
Скриншот программы YafaRay
Тип Трассировщик лучей
Разработчик Alejandro Conty Estévez
Написана на C++[1]
Операционная система Кроссплатформенный
Последняя версия 3.3.0 (22 августа 2017 года)
Репозиторий github.com/YafaRay/libYa…
Лицензия GNU Lesser General Public License
Сайт yafaray.org
Логотип Викисклада Медиафайлы на Викискладе
YafaRay-рендеринг частей поршневого двигателя, смоделированных в Blender.

YafaRay (YafRay, Yet Another Free Raytracer) — это бесплатная свободная программа трассировки лучей c открытым исходным кодом, использующая для описания сцены язык XML. В феврале 2004 года[2] модуль управления YafaRay’ем был интегрирован в программу 3D моделирования Blender.

Программа распространяется под лицензией GNU Lesser General Public License (LGPL).

Возможности

[править | править код]

Глобальное освещение

YafaRay использует основанное на приближениях метода Монте-Карло глобальное освещение для создания реалистично-освещённых визуализаций 3D сцен.

Освещение от неба

Эта система основана, главным образом, на освещении от неба. Во внимание также принимается расчёт мягких теней. Кроме того, освещение может быть получено из изображения с высоким динамическим диапазоном.

Каустики

YafaRay использует распределение фотонов, которое учитывает каустику (искажение света при отражении или прохождении, например, через линзу). Для симуляции полупрозрачных материалов в разработке находится шейдер, имитирующий подповерхностное рассеяние света.

Глубина резкости

Эффекты фокусной глубины резкости могут быть воспроизведены с помощью этой возможности. Если камера зафиксирована на определённой точке сцены, дальние объекты будут вне фокуса.

Искажённые отражения

Если поверхность не является идеальным отражателем, отражённый свет искажается. Чем дальше находится отражаемый объект, тем сильнее будет искажение. YafaRay может имитировать данное явление.

Архитектура

[править | править код]

Модульная структура

Yafaray имеет модульную структуру, основанную на ядре и других связанных с ним элементах рендеринга: загрузчике сцены, источниках освещения и шейдерах. Вместе с API это позволяет разрабатывать плагины рендеринга для использования Yafaray из любой программы или 3D приложения. В список поддерживаемых программ входят: Blender, Wings 3D и Aztec.

Кроссплатформенность

Yafaray полностью написан на языке C++, что сделало программу хорошо переносимой. Прекомпилированные исполняемые файлы существуют для всех наиболее распространённых платформ: GNU/Linux, Win32, Mac OS X и Irix. Yafaray может быть использован в качестве автономного движка рендеринга, использующего собственный формат описания сцены. В этом случае он может использоваться непосредственно из командной строки, скрипта и т. д. Также существуют заготовки для параллельного или распределённого рендеринга.

Примечания

[править | править код]