суббота, 15 октября 2016 г.

render dev roadmap

хорошее дело - дорожная карта. не даёт сбиваться с пути разработки и расфокусироваться на задачи оптимизаций и наворотов фич небывалых отовсюду, отнимая кучу времени на пустые тесты.
расфокусироваться очень легко - много сейчас интересных исходников и пдфок с отчетами и идеями!
итак, моя дорожная карта на ближайшее время:
  • запоминать render passes, в том числе по технологиям, как в UPBP
  • variance adaptive importance sampling for cam paths, как в akari
  • AdaptiveDistributedRenderScene() готово
  • далее - воплотить 3х-ступенчатый метод рендеринга готово
  • добавить texture mapping, bump mapping, displacement, процедурные текстуры
  • добавить tinyexr для чтения и записи exr
  • добавить assimp кучи форматов 3d-сцен и обьектов, оптимизировать assimp в плане поиска в строках и любимую мной буферизацию добавить
  • на основе примера из fox toolkit сделать загрузчик и просмотрщик всех форматов 3d, поддерживаемых assimp
  • добавить загрузчики и сохранение изображений из stb_image, lodepng для png, jpeg compressor для jpg
  • добавить uniform grid scene accelerator - для вокселизации всей сцены и сделать мою реализацию, без хранения большого массива массивов с обьектами. линейный массив и бинарные поиски!
  • добавить qbvh из akari. создавать qbvh в каждой ячейке grid, к которой происходит обращение. можно кешировать и выбрасывать из кэша, если память нужнее
  • попробовать переписать vector.push_back на emplace_back и проверить насколько мой arr_list быстр и уместен
  • hdri освещение с importance sampling из akari
  • сохранение hdr с rle-упаковкой из akari, код записи которого я недавно ускорил с 17 секунд на файл до 0,6 секунд. это всё чудеса буферизации и выбрасывать нужно по-тупому используемые функции, которые дико там не к месту. код не лучше, чем у меня, и потому внедрять его не стану

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

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