Очень мало примеров современного и достойного 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!
Комментариев нет:
Отправить комментарий