среда, 9 марта 2016 г.

как я провёл выходные

   закопался в исходник smallppm, затем попутно вспомнил реализацию bpt и 2 варианта pt на предмет, к какому из хороших реализаций-примеров добавить эксперименты с guidiing pt, с которыми не было времени разобраться и вникнуть.
   edubpt оказался на редкость интересной реализацией bpt и pt там неплохие. ускорил там всё по максимуму. еще  всмотрелся в gemspt - в нём хорошо реализован pt с реализацией материалов. возрадовался чудесам простых оптимизаций.
   пробовал запустить mmlt - гибрид keleman mlt и pssmlt с учетом importance. предрасчеты долгие вела программа, то, что посчитала, было шумное и я не понял, чем этот метод хорош. отложил пока подальше.
   читал akari2, oreoreon renderer и примерял реализации qbvh к своему vcm. понял, что основывать свой qbvh буду на akari2. внёс оптимизации в vcm. решил снова возиться с vcm как с основным.
   в oreoreon renderer qbvh строится без учета sah, он интересен тем, как реализовано пересечение и храниение треугольников и других примитивов.
   в vcm сделал заготовку для qbvh. выбросил неиспользуемый код. добавил реализацию sincos с sse из mitsuba. с удивлением обнаружил, что в vcm есть уже savePFM. не ожидал, что так популярен неизвестный мне раньше hdri-формат.

предстоит также реализовать:
  • image samplers - box, bspline, ...
  • hdri background light
  • tone mappers. раньше делал с помощью gamma и автоэкспозицией
  • по-прежнему актуально - чтение 3d-форматов. основных
  • текстуры
  • sse-ускоренные 1/, sincos
очень благотворно чтение исходников. появляется время подумать и сравнить, сделать по-другому, собрать крупицы в свой продукт. благодарю авторов embree, embree example renderer, oreoreon renderer, akari2, edubpt, gemspt

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

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