vindast
> Давайте я так спрошу. Как и от чего вы считаете угол горизонта, от
> тангесального вектора, или же как разность синусов, как было в той презентации?
> Вы направления считаете в касательной плоскости или в плоскости изображения?
>
можно и так и так считать. если всё правильно сделать, то получится одно и то же.
Годная тема.
Надо будет и свой двиг как-то воскресить да помериться AO.
Аффтар, зжги есчо!
Great V., лол, жгу кек
Suslik, я пошерсил интернеты, и пришел к выводу что у меня нет косяков имплементации. Дело в самом алгоритме.
Везде где я нашел спонзу с hbao была картина схожая с моей.
Я согласен с тем тем что перепад яркости это косяк, но при таком алгоритме это не уберешь, ибо синусы.
Но я не уверен до конца, так что если есть желающие показать как должен выглядеть hbao на тех колоннах, жду )
vindast
> Везде где я нашел спонзу с hbao была картина схожая с моей.
Спонза кстати кривая по нормалям. Я когда работал со спонзой не понимал что за говнище происходит. Пришлось грузить модели в блендер и выправлять нормали там.
MrShoor
> Спонза кстати кривая по нормалям. Я когда работал со спонзой не понимал что за
> говнище происходит. Пришлось грузить модели в блендер и выправлять нормали там.
Там как раз на той шторе на которую суслик наехал нормали кривые.
Я щас свою старую сцену загружу и скину скрины.
Вроде норм.
У меня тут возник один вопрос.
Ощущение что nvidia не использует мировой радиус как таковой, а использует радиус в пикселях на экране.
Я попробовал этот вариант и ao стал и быстрее (полностью не зависимый от геометрии по сути) и четче, но менее естественным.
Как люди вообще делают? Так или так?
vindast
> Ощущение что nvidia не использует мировой радиус как таковой, а использует
> радиус в пикселях на экране.
> Я попробовал этот вариант и ao стал и быстрее (полностью не зависимый от
> геометрии по сути) и четче, но менее естественным.
> Как люди вообще делают? Так или так?
по идее корректный вариант — с бесконечным радиусом и если радиус бесконечный, то всё равно, в каких координатах его считать бесконечным. но если считать в экранных, то проще семплить только те пиксели, которые попали в экран. в принципе оба варианта корректны.
Suslik, вот радиус 40 пикселей на экране. По моему можно так оставить. Или даже меньше сделать радиус что бы еще быстрее было.
Нрав?
На 0:14 видно как радиус меняется. По моему лучше так, ибо нет возможности упереться камерой в темноту.
vindast
У тебя сделан bias? А то на разном расстоянии разное затенение
IBets, там радиус в пикселях, говорил же. Могу записать видос с мировым радиусом.
Есть биаз.
vindast
> там радиус в пикселях, говорил же. Могу записать видос с мировым радиусом.
Изменяйте радиус по дистанции и будет вам щастье.
marggob, он так и меняется )
vindast
ты спрашивал, как можно улучшить сходимость, не увеличивая число выборок. могу показать, как сделано у меня. каждое изображение можно считать эволюцией моего алгоритма. на каждом используется одинаковое количество выборок и шейдер совершает примерно одинаковое количество инструкций. однако, выборки по-разному распределены и их вклад по-разному учитывается:
здесь в добавок к AO считается GI, но они на самом деле очень похожи с точки зрения математики.
Тема в архиве.