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

glsl,деревья

#0
15:04, 27 окт. 2014

здравствуйте! у меня очень простой вопрос, в который я никак не могу въехать. как на glsl реализовать обход какого-нибудь дерева. ну пускай реализовать quadtree? непонятна сама идея. единственное, что приходит в голову - на вершинный шейдер отсылаем звено,проверяем на разбиение, записываем потомков во фреймбуфер, потом данные из фреймбуфера опять шлем на вершинный шейдер, опять разбиваем и т.д. но мысль по-моему очень глупая.. просветите как это в цивилизованном мире делается?)


#1
15:07, 27 окт. 2014

IIy3bIpb
Откуда берутся такие идеи?)

#2
15:09, 27 окт. 2014

Osiris
из необразованной головы) в гугле конкретно про идею реализации ничего не нашел.. объясните если несложно)

#3
15:25, 27 окт. 2014

Для начала раздели поняние
IIy3bIpb
> glsl
и
IIy3bIpb
> ну пускай реализовать quadtree?

#4
15:28, 27 окт. 2014

foxes
поставлю вопрос иначе: как средствами opengl можно распараллелить на gpu задачу рекурсивного обхода древовидной структуры?

#5
15:30, 27 окт. 2014

Я не уверен что такая задача вообще требует реализации на GPU - проще разбить массив данных и посчитать отдельные участки. Для чего?

#6
15:46, 27 окт. 2014

foxes
в общем мне нужно отрендерить рельеф. больше всего подходят алгоритмы с иерархической триангуляцией (ну пусть тот же quadtree). с реализацией на cpu особых вопросов нет. но если эту штуку распараллелить на gpu и обход быстрее будет, и на передачу данных тратиться не надо, и cpu будет свободен.. как-то ведь это делают?) прошу извинить если несу бред-еслиб  разбирался в этом деле,не задавал бы вопрос)

#7
16:29, 27 окт. 2014

IIy3bIpb
> поставлю вопрос иначе: как средствами opengl можно распараллелить на gpu задачу
> рекурсивного обхода древовидной структуры?

ВО-во, откуда такие мысли? Не хватает скорости обхода дерева на CPU?

IIy3bIpb
> в общем мне нужно отрендерить рельеф. больше всего подходят алгоритмы с
> иерархической триангуляцией (ну пусть тот же quadtree). с реализацией на cpu
> особых вопросов нет. но если эту штуку распараллелить на gpu и обход быстрее
> будет, и на передачу данных тратиться не надо, и cpu будет свободен.. как-то
> ведь это делают?) прошу извинить если несу бред-еслиб разбирался в этом
> деле,не задавал бы вопрос)

На GPU никто такое не делает, потому что деревья служат для отсечения лишней геометрии перед отрисовкой кадра. CPU нынче мощные и заняты в меньшей степени, чем GPU.

#8
18:06, 27 окт. 2014

Osiris
так вот почему гугл молчит) а мысли о том что "как-то ведь это делают" пришли.. даже не знаю откуда.. как-то постепенно принял за факт. на первый взгляд быстрее бы получилось. спасибо за ответ - теперь буду знать)
Osiris
> CPU нынче мощные и заняты в меньшей степени, чем GPU.
в чем тогда преимущества "gpu-based" алгоритмов?

#9
18:33, 27 окт. 2014
в чем тогда преимущества "gpu-based" алгоритмов?

в способности параллельно обсчитать огромное число векторных данных по одному алгоритму?
а вот с ветвлением у них совсем туго.
#10
20:12, 27 окт. 2014

IIy3bIpb
> у меня очень простой вопрос, в который я никак не могу въехать. как на glsl
> реализовать обход какого-нибудь дерева.

Например, дерево можно линеаризовать :)

Denadan
> а вот с ветвлением у них совсем туго

Это смотря как и где

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

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