ПрограммированиеФорумОбщее

Frustum Culling (комментарии) (5 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#60
15:54, 23 июня 2017

Che@ter
> Есть кое-что получше:

какой ценой ? с точки зрения потраченного времени на эту фичу из ассасина

#61
16:49, 23 июня 2017

Che@ter
Спасибо. Есть более детальное описание?

#62
17:01, 23 июня 2017

innuendo
Да так, подход вполне неплохой, он работает как ожидается. Он простой, логичен... я себе уже встроил :)

evirus
> Спасибо. Есть более детальное описание?
Последующие страницы презентации.

#63
17:33, 23 июня 2017

Che@ter
> я себе уже встроил :)
дак это надо всю геометрию на стрипы резать чтоли?
мне интересно как они в юнити пайплайн это встроили, это надо по факту все переписывать

#64
18:55, 23 июня 2017

Mira
> дак это надо всю геометрию на стрипы резать чтоли?
Нет, я в пределах объекта. Они предлагают объекты разрезать еще на более мелкие объекты.

#65
19:44, 23 июня 2017

одни склеивают объекты, другие наоборот режут =)

Прошло более 2 лет
#66
16:08, 17 ноя 2019

Очень доходчиво и по полочкам спасибо.  Пойду себе на боксах сделаю. Касаемо выбора метода ещё добавлю.
Отсечение сферами в принципе не применимо к большим объектам или к объектам вытянутым, у меня это головная боль была. Например если в сцене есть столб или хуже того вышка или здание, которые обычно достаточно высокие то сфера умещающая  в себе объект будет огромная и порой если объект по сути уже почти за спиной то отсечения нет и это не сфера  внутри фрустума, а фрустум внутри сферы :D Я не хотел экспериментов и длинные объекы резал на куски что бы у каждого куска была своя небольшая сфера тогда проблема отпадает, но всё же надо по хорошему боксы. Для большой геометрии боксы для мелкой и удалённой сферы. Ещё рас спасибо за статью

#67
13:15, 6 дек 2019

Там еще можно вместро проверки "> 0" брать знаковый бит, т.е. вместо
inside &= d > 0
Делать так:
Inside &= ~((*(uint32_t*)&d)>>31);

#68
18:33, 6 дек 2019

0xc0de
> Inside &= ~((*(uint32_t*)&d)>>31);
писькомерство 89 lvl

#69
18:35, 6 дек 2019

Misanthrope
> писькомерство 89 lvl
innuendo, зачем ты зашёл под аккаунтом мизантропа?

#70
3:50, 7 дек 2019

prowkan

школьник ? поработай над реальными проектами

#71
19:23, 7 дек 2019

0xc0de
> Делать так:
> Inside &= ~((*(uint32_t*)&d)>>31);
UB

#72
2:34, 8 дек 2019

}:+()___ [Smile]
> UB

Не должно (бул приведется к инту и вернется обратно). Максимум варнинг вылезет об арифметической операции с bool, но его можно подавить если вместо bool использовать unsigned char.
Но компилятор все равно рождает больше инструкций с моим вариантом, поэтому хз, что будет быстрее :)

#73
9:32, 8 дек 2019

0xc0de
> что будет быстрее
...

Прошло более 4 лет
#74
12:05, 17 авг 2024

Прошу прощения за то, что поднимаю довольно старую тему, но хотелось бы получить ответы на некоторые вопросы, хотя я и не уверен, что это получится, так как автор статьи не появлялся на сайте больше года.
Тем не менее, у меня есть несколько вопросов.
Самый первый и самый главный из них:
В статье написано

GPU кулинг работает также быстро как и самый быстрый CPU метод. К тому же обладает рядом дополнительных преимуществ:
нет необходимости пересылать данные о видимых инстансах на GPU.

Вопрос: что понимается под необходимостью пересылать данные о видимых инстансах на GPU и почему в GPU Culling нет необходимости в пересылке, а в CPU Culling есть?

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумОбщее