Che@ter
> Есть кое-что получше:
какой ценой ? с точки зрения потраченного времени на эту фичу из ассасина
Che@ter
Спасибо. Есть более детальное описание?
innuendo
Да так, подход вполне неплохой, он работает как ожидается. Он простой, логичен... я себе уже встроил :)
evirus
> Спасибо. Есть более детальное описание?
Последующие страницы презентации.
Che@ter
> я себе уже встроил :)
дак это надо всю геометрию на стрипы резать чтоли?
мне интересно как они в юнити пайплайн это встроили, это надо по факту все переписывать
Mira
> дак это надо всю геометрию на стрипы резать чтоли?
Нет, я в пределах объекта. Они предлагают объекты разрезать еще на более мелкие объекты.
одни склеивают объекты, другие наоборот режут =)
Очень доходчиво и по полочкам спасибо. Пойду себе на боксах сделаю. Касаемо выбора метода ещё добавлю.
Отсечение сферами в принципе не применимо к большим объектам или к объектам вытянутым, у меня это головная боль была. Например если в сцене есть столб или хуже того вышка или здание, которые обычно достаточно высокие то сфера умещающая в себе объект будет огромная и порой если объект по сути уже почти за спиной то отсечения нет и это не сфера внутри фрустума, а фрустум внутри сферы :D Я не хотел экспериментов и длинные объекы резал на куски что бы у каждого куска была своя небольшая сфера тогда проблема отпадает, но всё же надо по хорошему боксы. Для большой геометрии боксы для мелкой и удалённой сферы. Ещё рас спасибо за статью
Там еще можно вместро проверки "> 0" брать знаковый бит, т.е. вместо
inside &= d > 0
Делать так:
Inside &= ~((*(uint32_t*)&d)>>31);
0xc0de
> Inside &= ~((*(uint32_t*)&d)>>31);
писькомерство 89 lvl
Misanthrope
> писькомерство 89 lvl
innuendo, зачем ты зашёл под аккаунтом мизантропа?
prowkan
школьник ? поработай над реальными проектами
0xc0de
> Делать так:
> Inside &= ~((*(uint32_t*)&d)>>31);
UB
}:+()___ [Smile]
> UB
Не должно (бул приведется к инту и вернется обратно). Максимум варнинг вылезет об арифметической операции с bool, но его можно подавить если вместо bool использовать unsigned char.
Но компилятор все равно рождает больше инструкций с моим вариантом, поэтому хз, что будет быстрее :)
0xc0de
> что будет быстрее
...
Прошу прощения за то, что поднимаю довольно старую тему, но хотелось бы получить ответы на некоторые вопросы, хотя я и не уверен, что это получится, так как автор статьи не появлялся на сайте больше года.
Тем не менее, у меня есть несколько вопросов.
Самый первый и самый главный из них:
В статье написано
GPU кулинг работает также быстро как и самый быстрый CPU метод. К тому же обладает рядом дополнительных преимуществ:
нет необходимости пересылать данные о видимых инстансах на GPU.
Вопрос: что понимается под необходимостью пересылать данные о видимых инстансах на GPU и почему в GPU Culling нет необходимости в пересылке, а в CPU Culling есть?