Render.ru

RayTrace Shadows, давайте поговорим о них

Anna Rychkova

Активный участник
Рейтинг
18
#1
почему то, когда в сцене появляется движущийся объект, скорость рендера падает в разы.
и это при том, что площадь на экране этого объекта, от силы процентов 10 от площади
статичных объектов которые в сцене находились до него и продолжают находится.

это все в том случае, если имеются источники с тенями типа RayTrace.

кто-нибудь может объяснить этот эффект с любой точки зрения?


И еще вопрос: какой внешний рендер к Максу быстрее всего делает RayTrace тени?
 

GoodMan

Мастер
Рейтинг
260
#2
При рендеринге с Raytraced shadows - все зависит от сложности объекта(ов) которые отбрасывают и принимают тень (и их материалов). Здесь используется метод трассировки лучей - заданное кол-во лучей выстреливается и те которые натыкаются на объект либо преломляюся им (частично прозрачный материал) либо нет - (не прозрачный материал). В первом случае луч поподает на другой объект и там либо первое либо второе и так далее определенное кол-во раз, а в последнем случае образуется тень..

При просчете же c shadow maps - сложность принимающего объекта не учитывается, а строится карта из проекции источника света. Поэтому собственно с прозрачными объектами она и не работает..

P.S. Если хочешь увеличить скорость просчета RtShadows, попробуй в Ray Traced Shadow Parameters/Max Quadtree Depth - поставить 10 (вместо 7 по умолчанию)
 

Anna Rychkova

Активный участник
Рейтинг
18
#3
нет..., трассировка тени осуществляется проще (делал рендеры самим собой, знаю немного кухню :) ). Конечно в извратных рендерах процесс может быть более навороченным, но в стандартном Максовом (судя по богатству возможностей)
- теневой луч - это один луч (без учета преломлений - это уже радиозити пахнет) до источника от точки поверхности в которую уперся обычный луч.

Но вот другой вопрос как осуществляется антиалисинг тени (шадинг отдельно - сканлайном, соот. тень должна наверное алиситься самостоятельно). Если он умный - то он адаптивный (т.е. только на краю тени производит дополнительный пуск лучей, что бы физическую границу тени перевести в интенсивность пикселя).
Но даже если не адаптивный - это ничего не объясняет в падении производительности (в моем случае по площади и сложности привнесенный объект мало что добавляет в сцену до его существования)

Размышляя, чем движущийся объект отличается от статических, хочется косяк забить на режимы размытия движения (но вот я их выключил, а эффект тот же)
 

GoodMan

Мастер
Рейтинг
260
#4
Знаешь с Max-ом честно говоря иногда бывает - заклинит на каком нибудь простом эффекте - типа reytrace, вообще за такое большое время могли-бы уже Render и до ума довести..

Хотя думается мне что сами Дескритовцы расчитывают на то, что другие Vray, Brazil, Fr, MentalRay - доведут все это до ума, этакий симбиоз - одно без другого не может и поэтому оно другому помагает...
 

Anna Rychkova

Активный участник
Рейтинг
18
#5
Я вообще "поехал" с того как криво они новые рендеры в 5-ку добавили, прямо как не для себя родных старались, а для большой жирной бестолковой галочки...
 
#6
поясни плиз, что ты имеешь ввиду криво? Лично я не какой кривизны не замечаю...И еще, какие новые рендеры? В максе всегда был один рендер - default scanline renderer. Все остальные - сторонних производителей...
Тени- есть acceleration raytrace. Про тени не знаю, но в отражениях и рефракциях есь параметры static acceleration и dynamic acceleration. Они несколько отличаются по кол-ву потребляемой памяти.... хотя я вообще незамечал разницу между рендрингом движущихся объектов и статичных с тенями...
 

Anna Rychkova

Активный участник
Рейтинг
18
#7
как какие? - в 5-ке появился Радиозити и Лайттрайсер. Первый по слухам обрезанный Ментал, второй - обрезанный Бразил.

насчет теней(ну может движение и не виновато, надо тесты делать, думал может кто знает, так и ковырятся не придется), - сценка где объектов из тех что тени отбрасывают ну от силы на 50 тыс полигонов (из них еще некоторые только отбрасывают или только принимают) и нет никакого рейтрейса, кроме теней. Рендериться на Cel1100 - 40-60 минут. А с тенями ShadowMaps - 2 минуты. такая просадка!, все равно не пойму (более навороченные сцены с отражениями и преломлениями у меня рендерятся быстрее).
Создается впечатление, что рейтрейс тени страшно дорогие, дороже всего.
(для них, что, бинарных, или какие они у них там, деревьев уже не строится, что ли...)
 
#8
Из своего опыта (и чтения книжек) думаю, что для рейтрейса все равно, с каким разрешением ты рендеришь и сколько места на картинке это занимает. Он тупо считает каждый объект (а не полигон). Так что чем больше объектов - тем хуже. Хоть он там один пиксель на окончательной картинке занимает. С шадоу меп проще. Карта он и есть карта. Честно говоря, если мне не нужны тени от "прозрачных" материалов, я никогда не применяю рейтрейс. Да и с "прозрачными" тоже чаще обхожусь за счет отдельной лампочки, которая игнорирует "стекла" в "окнах", например :)

Так что подумай, нужны ли тебе такие тени на картинке, которая висит 1/25 секунды на экране.
 

Anna Rychkova

Активный участник
Рейтинг
18
#9
видишь ли, :) я потому и офигел так поздно, что такая задача стала впервые (раньше никогда трейсовых теней не пользовал). А тут специфика проекта принуждает меня использовать только такие тени.

ну а насчет зависимостей (вернее их отсутствия) между размером на экране, разрешением и временем расчета ты конечно не прав :).
Просто вдумайся в название "Алгоритм обратной трассировки лучей" (ответ - т.е. трассировка от экранной плоскоски). правильные книжки читай... :)
 
Сверху