среда, 12 апреля 2017 г.

smallpt pascal lazarus

Очень мало примеров современного и достойного global illumination на pascal в модификации Delphi и Lazarus.
Есть очень неплохой пример на Turbo Pascal 3/Lazarus, написан Dirk de la Hunt http://www.iwasdeportedandalligotwasthislousydomain.co.uk/static.php?page=smallpt_tp

С моими оптимизациями path tracer ускорился на 15%.

Оригинальная версия by Dirk de la Hunt просчитала картинку 1024x768 на 16 spp 4-мя потоками за 68 секунд.
Моя версия - 59 с.

Если выставить в настройках компилятора платформу x86_64, это даст еще прирост скорости!

В сравнении с C++ версией скомпилированной MinGW gcc - 48с - на 15% быстрее моей версии на Lazarus, но в сравнении с скомпилированным Visual Studio Compiler(69c) или Intel C++ compiler результат даже хуже чем Lazarus или похожий.

В настройках всех компиляторов я подбирал самые оптимальные настройки, которые давали скоростной код.

скачать smallpt pascal lazarus path tracer с github

Огромным плюсом я считаю библиотеку FreeImage, которая работает с множеством графических файлов, в том числе поддерживает новейшие изменения в jpeg и работает с HDR, EXR и есть подвязка под Lazarus.

Поэтому на Lazarus буду писать и bidirectional path tracer, и mlt, и vcm!

Комментариев нет:

Отправить комментарий