воскресенье, 12 февраля 2017 г.

nanort - не только минималистическая замена embree, но и хороший исходник bidirectional path tracer

NanoRT, single header only modern ray tracing kernel https://github.com/lighttransport/nanort

в примерах использования идёт bidir_path_tracer

1000 spp, max 8 bounces

возможности этого мини-рендера:
  • загрузка obj-файлов с материалами - tiny_obj_loader
  • обработка материалов из obj-файла.  прозрачность, источник света излучающий - из материалов
  • построение и использование nanort, который ловко справляется с такими моделями - 362k треугольников
  • выбор ламп для light tracing происходит не случайно, а по статистической таблице, что делает картинку точнее, меньше артефактов-ярких точек
  • сохранение exr - результат работы рендера, необработанные float
  • сохранение png - простой clamping tonemap и сохранение с помощью stb_image_write
я приложил руку к исходникам рендера и теперь:
  • сохраняет hdr - необработанный float, stb_image_write
  • сохраняет png - теперь с помощью lodepng - файл получается меньше. stb_image_write-вариант сохранения png отключил. обратил на lodepng внимание после тестов
  • сохраняет bmp, tga, используя код из stb_image_write 



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

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