@SergeySerge11

Какой принцип в Ray Trasing рендеринге, как работает подробно?

Пара вопросов
Почему он застратный по железу, а не наоборот(как мне кажется)
Есть ли вершинный геометрический шейдер, отсечение по флуструму z-тесты...(если есть зачем, если автоматически это вычисляется)
Что является рабочим набором, скоко потоков запускаются, по какому параметр(по w,h экрана же?)

Как мне видится простая реализация на глазок. Октодерево или BHV дерево еще можно с кривой мортана, что бы максимальный coalescing доступ к памяти был.
Рабочий набор ширина*высота экрана, для каждого пикселя запускается луч, для экрана 1000x1000 всего миллион потоков, которые выполнят поиск в иерархической структуре, примерно за 10-20 итераций проверок пересечений луча. Что воообще наносекунды времени, сам запуск ядер дольше выполнится чем нагрузка(ну почти ладно).
Плюс не надо делать трансформацию вершин(хотя это быстрая стадия), кроме преобразования в мировые, так как сам луч, делает то же самое. И координаты на экране уже известны, так как с этой точки (x,y) луч и идет, а если он что-то пересек, то эта точка и идет на экран.

Отсюда я не понимаю, почему он требователен в производительности. Значит что-то упускаю
Единственное что я не рассматриваю отражения, но допустим луч еще 5 раз отрекошетит, это всю-равно на скидку очень быстро
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 3
Миллион лучей - это очень мало.
Отражение, преломление, рассеивание - это самая затратная операция как раз, тк многократно увеличивает пролёт луча и рандомно изменяет его путь.
При нехватке лучей - будет очень много шумов либо слишком тёмная картинка.
Ответ написан
Комментировать
Основная проблема в том, что рейтрейсинг в том виде, что вы описали, хорошо работает разве что в мире, где все состоит из зеркальных поверхностей. Но в реальном мире практически все поверхности рассеивают свет в случайных направлениях в какой-то степени. Поэтому вам не хватит одного луча на пиксель, придется усреднить много лучей, чем больше лучей усредните, тем меньше будет шумов на картинке. Или использовать какие-нибудь хитрые вероятностные модели (Importance sampling, например).

Без этого всего освещение и поверхности не будут выглядеть реалистичными.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Почему он застратный по железу, а не наоборот(как мне кажется)

Тебя обманывает терминология скорее всего. Мы где-то в хабре уже говорили.
Существует tracing - это когда лучи идут из источника света ко всем предметам сцены.
И back-tracing, когда лучи (мнимые) идут из глаз смотрящего на сцену.

P.S. Когда мы говорим крипта - 100% подразумеваем криптовалюты. А до 2015 года я криптой
называл криптографию :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы