Pull to refresh

Comments 17

>>трассировка монохроматических фотонов обойдется в 16, 32,… дороже чем стандартный алгоритм

Можно трейсить два пограничных «фотона» и если их пути совпадают, то забить на все, что между. Также путь можно колоть на отрезки.
Не хватает картинок «до» и «после» (с лучами и с фотонами).
Пока ничего убедительного не получил. Это тема моей курсовой, еще будут.
UFO just landed and posted this here
Path tracing is a physically based rendering technique, based on ray tracing. Where regular recursive ray tracing [2] (Whitted-style) is able to render reflections, refractions, and shadows, path tracing also handles diffuse reflections, indirect light, and even caustics. It does this by replacing the integrals involved in these effects by the expected value of a stochastic process: Soft shadows are calculated by sending several random rays to an area light source; anti-aliasing is calculated as the average of several random rays over the area of a pixel, and so on. Randomness means noise, and thus the resulting image quality depends on the number of samples. A path traced image converges over time, as more samples are added to previous frames.

Towards Real-Time Path Tracing in Games
Интерференции и дифракции не получится. Да, я употреблял слова фотон и луч имея ввиду одно и тоже.
В ray tracing'е нету никакой истории луча, там луч идет от глаза к первому пересечению и в том месте рассчитывается цвет. В path tracing'е же луч отражается пока не поглотится или не попадет на лампу. Path tracing дороже и реалистичнее.
В ray tracing'е луч точно так же переотражается, пока его вклад в расчёты не упадет ниже cutoff threshold либо пока он не упрётся в фон, либо пока не превысит заданное максимальное кол-во переотражений.

Разница между PT и RT в другом.

Что же касается фотонов — они уж лет 15-20 существуют в том же mental ray.
en.wikipedia.org/wiki/Photon_mapping

«Новшество» в виде длины волн уж лет 5 как реализовано в Maxwell renderб да и не только в нём, насколько я помню.
Это же замечательно! Как я раньше не видел. Рендеринг без допущений! Уже качаю, спасибо.
Это называется photon mapping и используется как вспомогательный приём при ray tracing-е. На эту тему давным давно написаны диссертации.

Вот например статья одна: Global Illumination using Photon Maps (Henrik Wann Jensen).
И давно реализовано, например, в PovRay. Там запускается один фотон, который в местах потенциального преломления порождает настраиваемое количество фотонов с другими характеристиками.
UFO just landed and posted this here
Еще больше реализма получиться если учесть спектральные характеристики источника света.
Т.е. назначить не линейное распределение мощностей в зависимости от длинны волны (под мощностью тут правильно понимать количество фотонов в единицу времени)
Здесь так и есть, Color — массив и берется он из файла. Распределение может быть любым
И какой же спектр вы сопоставите rgb(255,0,0)? rgb(255,255,0)? rgb(235, 55, 143)? rgb(255,255,255)?

Первые два в принципе (при указании конкретной модели) можно было бы представить монохроматическими спектрами; последние два невозможно. У задачи бесконечное количество (полихроматических) решений, каждое из которых будет давать свою картинку в результате рендеринга.

То же самое касается поверхностей: у них есть спектры поглощения и излучения, а не просто «цвет». Ну вы поняли, про прозрачные тела даже говорить страшно.
Это задача не программы рендеринга, а художника или физика в команде. Спектры будут известны изначально.
UFO just landed and posted this here
Sign up to leave a comment.

Articles