Войти
ПрограммированиеФорумГрафика

hierarchical z buffer occlusion culling (6 стр)

Страницы: 1 2 3 4 5 6
#75
18:19, 5 июля 2014

TheGrayWolf
"Елки и горы" помнишь ? Там как было ?

#76
7:50, 6 июля 2014

innuendo
Было профитно

Прошло более 2 лет
#77
23:07, 15 сен 2016

что-то заклинило меня в понимании этой техники.
Окклюдеры - это что? Упрощенная геометрия для быстрого рисования в глубину?

#78
23:43, 15 сен 2016

Дядька говорит что да.
http://nickdarnell.com/hierarchical-z-buffer-occlusion-culling/
а вы почему не говорите? :)

И по поводу мипов дядька говорит
The ‘depth buffer’ should just be mip 0 in a full mip chain of render targets (not the actual depth buffer).
но самое главное, что буфер глубины не должен быть полноразмерным, 256x144 батлам хватило.

#79
12:39, 16 сен 2016

Так чо, делает хто нибудь окклюдеры аль нет?

#80
12:49, 16 сен 2016

Вот ты гробокопанием занялся.
Что тебя интересует конкретно? Все кто хотел уже все окклюдеры сделали =)

#81
12:54, 16 сен 2016

Mephisto std
> Что тебя интересует конкретно?
это:

Bake step – Have your artists prepare occlusion geometry for things in the world that make sense as occluders, buildings, walls…etc. 
They should all be super cheap to render, boxes/planes.  I actually ran across this paper,
Geometric Simplification For Efficient Occlusion Culling In Urban Scenes,
that sounded like a neat way of automating the process.

Ибо тогда я могу согласиться, что это нормально:

CPU – Take all the occlusion meshes and frustum cull them.
GPU – Render the remaining occluders to a ‘depth buffer’.  The depth buffer should not be full sized, in my code I’m using 512×256. 
There is a Frostbite paper that mentions using a 256×114-ish sized buffer for a similar solution to do occlusion culling. 
The ‘depth buffer’ should just be mip 0 in a full mip chain of render targets (not the actual depth buffer).

Но если это делают с использованием оригинальной геометрии, то у меня сомнения появляются в правильности понимания этой техники.
Хотя можно наверное сбатчить в один меш всю локацию и отрисовать.

#82
13:27, 16 сен 2016

Synthetic
никто окклюдеры рендер-геометрией конечно не рисует. Обычно это боксы или максимально упрощённые модели.
Как вариант можно не рисовать окклюдеры отдельно, а взять например depth-buffer с прошлого кадра и сделать репроекцию с даунскейлом по max фильтру
Фишка заключается в создании мульти-резолюшен окклюдинг-буффера и динамически выбирать мип для тестирования в з-ти от размеров тестируемого полигона/примитива,
тогда не будет false negative (при этом может быть false positive но обычно это никого не парит)

#83
14:13, 16 сен 2016

Synthetic
> Но если это делают с использованием оригинальной геометрии, то у меня сомнения
> появляются в правильности понимания этой техники.

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

Сабж имеет несколько путей реализации.

#84
14:25, 16 сен 2016

Mephisto std
TheGrayWolf
> репроекция
Я так понимаю что в худшем случае, мы просто нарисуем немного лишней геометрии в местах,
где у нас по идее будет lost data, при резких мотаниях головой/камерой?

#85
14:29, 16 сен 2016

да, это худший случай. Практически все визибилити системы с вовлеченным ЦПУ будут давать либо такое, либо лаг в один кадр.
Как вариант можно всё делать на ГПУ. Вот тут можно почитать как
http://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph… er_220dpi.pdf

#86
14:32, 16 сен 2016

Synthetic
Ты правильно всё понимаешь, есть тут где то статья по этому поводу.

#87
16:32, 16 сен 2016

Synthetic
> CPU – Take all the occlusion meshes and frustum cull them.
> GPU – Render the remaining occluders to a ‘depth buffer’. The depth buffer
> should not be full sized, in my code I’m using 512×256.
> There is a Frostbite paper that mentions using a 256×114-ish sized buffer for a
> similar solution to do occlusion culling.
> The ‘depth buffer’ should just be mip 0 in a full mip chain of render targets
> (not the actual depth buffer).

ИМНИП, во фростбайт используется софтварный рендеринг оклюдеров, ИМХО удовольствие сомнительное,
реализация от крайтека выглядит более привлекательнее и проще. Это так, к слову.

#88
5:29, 19 сен 2016

Mr. Rabbit
> ИМНИП, во фростбайт используется софтварный рендеринг оклюдеров, ИМХО удовольствие сомнительное,
Дайс все далает как раз правильно.

> реализация от крайтека выглядит более привлекательнее и проще. Это так, к слову.
Из плюсов это только "проще", все остальное сплошной минус.

Страницы: 1 2 3 4 5 6
ПрограммированиеФорумГрафика

Тема в архиве.