Alexander Kuklev (akuklev) wrote,
Alexander Kuklev
akuklev

Category:

Ray tracing

А вот интересно, в связи с тем что GPU (и GPGPU) у нас на большом взлёте (частично благодаря биткойнам, хехе), может уже научились существенно ускорять при их помощи рейтрейсинг?

Вообще конечно рейтрейсинг гораздо более симпатичная технология, чем растеризация треугольничков. И возможности несравнимы: только при помощи рейтрейсинга можно получить преломление света, каустики, фотореалистичные блики, отражения и тени. Однако если мы хотим показывать в реальном времени 3D в высоком разрешении, то у чистого рейтрейсинга нет шансов.
В зависимости от размера экрана нужно генерировать от 5 до 8 мегапикселей, причём с хорошим anti-aliasing'ом. Если это делать топорным рейтрейсингом и хотеть global illumination, то лучше сразу застрелиться: для этого понадобится протрейсить миллиарды фотонов.
У самого продвинутого компьютера, который ещё влезает под стол вместе с системой охлаждения на один кадр уйдёт не меньше месяца. Умные техники рейтрейсинга дают выигрыш примерно на порядок, т.е. порядка трёх дней на кадр. А надо 60 раз в секунду. Зазор примерно 6 порядков — в миллион раз.

Рейтрейсеры на GPU (вроде как получается в пару раз быстрее, чем на CPU, но точно не на порядок) точно появились, см. https://developer.nvidia.com/optix.
И ещё есть мощный прорыв по части убирания шума и умной интерполяции на недостаточно засвеченных изображениях (т.е. можно выпустить в тысячу раз меньше лучей и получить примерно тот же эффект) при помощи нейросеток (recurrent autoencoder), см. https://youtu.be/YjjTPV2pXY0 и оригинальную статью http://research.nvidia.com/sites/default/files/publications/dnn_denoise_author.pdf (“Interactive Reconstruction of Monte Carlo Image Sequences using a Recurrent Denoising Autoencoder”, SIGGRAPH 2017)

Всё вместе это даёт потенциал для ускорения скажем на 4 порядка. Осталось ускориться ещё в 100 раз.

Я ещё весьма давно читал, что бывают хорошие гибридные подходы. Имеется некая двойственность между растеризацией и первым поколением трейсов в рейтрейсинге, которая позволяет как-то разумно использовать рейтрейсинг как последовательное улучшение картинки, получаемой при помощи растеризации. В частности, это позволяет вначале получить карту контуров, чтобы когда картинка восстанавливается по очень неполному рейтрейсу, контуры не размывались и не зашумлялись. Во-вторых, это позволяет получить "дефолтные, нефотореалистичные, но неплохо смотрящиеся филлы”, которые потом можно скормить алгоритму вместе с неполным рейтрейсом, для более реалистичного заполнения ”дыр” в рейтрейсе.

Кто-нибудь знает, как с обстоят дела с гибридными алгоритмами?
Subscribe

  • (no subject)

    Встретил фотографию толпы футбольных фанатов, и она меня скорее напугала, у меня уж точно нет желания быть там среди них. Но внезапно я понял, что…

  • Прогресс

    Десять дней назад, вторая ступень SpaceX'овского корабля Starship своим ходом слетала своим ходом на десять километров вверх, и усмепшно приземлилась…

  • О водосбережении

    Как известно, питьевая вода во многих странах дефицитный ресурс. И даже в дождливой Германии летом иногда случаются засухи, в результате которых она…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments

  • (no subject)

    Встретил фотографию толпы футбольных фанатов, и она меня скорее напугала, у меня уж точно нет желания быть там среди них. Но внезапно я понял, что…

  • Прогресс

    Десять дней назад, вторая ступень SpaceX'овского корабля Starship своим ходом слетала своим ходом на десять километров вверх, и усмепшно приземлилась…

  • О водосбережении

    Как известно, питьевая вода во многих странах дефицитный ресурс. И даже в дождливой Германии летом иногда случаются засухи, в результате которых она…