у октри есть 8 соседей, потому что если вы представляете квадрат, который был разрезан на 4 равных квартала, вот так
______________
| | |
| | |
|_____|______|
| | |
| | |
|_____|______|
тогда это будет "четырехъядерное" (четыре) дерево.
но в 3-х измерениях у вас есть сам куб, а не квадрат, поэтому, разрезая его по горизонтали, вертикали и по оси Z, вы найдете 8 кусков, а не 4, вот так
_____________
/ / / |
/-----/-----/ |
/_____/_____/ | |
| | | |/|
|-----|-----|/| |
| | | |/
|_____|_____|/
надеюсь, что делает с тех пор ..
Что делает SVO уникальным, так это то, что он хранит информацию о Voxel, которая представляет собой точку в пространстве и имеет такие свойства, как Color, Normal и т. Д.
Идея SVO состоит в том, чтобы игнорировать треугольники и необходимость текстур, объединяя их в один SVO, который содержит Voxelized Triangle Hull (Модель) и его текстуры поверхности в одном объекте.
Причина, по которой здесь необходим Octree, заключается в том, что в противном случае единообразная структура сетки потребовала бы много памяти для работы существующих видеокарт.
, поэтому использование SVO позволяет использовать Mip-Mapped 3D-текстуру.
MipMapping - это в основном то же изображение, но в разностных масштабах, более детальное и последнее, которое имеет наименьшую детализацию (но на расстоянии выглядит довольно похоже)
таким образом, вблизи объекты могут течь из SVO с большей детализацией, в то время как другие объекты текут с меньшей детализацией, то есть, если вы используете литье лучей, чем дальше луч от камеры, тем меньше мы копаем в нашу мегатекстуру / SVO
Но, если вы мыслите нестандартно, как «Евклидон» с его «неограниченной детализацией», вы просто использовали бы нарезку фрустума и пересечение плоскости / aabb с проецируемым ультрафиолетовым излучением нашего нарезанного билборда для нахождения каждого цвета текселей на экран, в отличие от ширины * высоты пикселей, стреляющих лучами, с наивной "оптимизацией луча" nvidia.
PS (что-то не по теме): для тех, кто не понимает, как Евклидон делает свою работу, я считаю, что это наиболее практичное решение, и у меня есть причина, чтобы поддержать его (что они НЕ используют лучевую отливку)
Самая большая загадка, которую они имеют, это не рендеринг, а хранение их данных ... RLE просто не обрезает их ... потому что некоторые данные объема / вокселя могут быть более случайными и менее "твердыми", когда RLE бесполезен, также сжатие, которое для меня обычно требует по крайней мере 5 байтов во что-то меньшее. они говорят, что выводят примерно половину того, что вставлено) через сжатие ... поэтому они используют 2,5 байта, что примерно столько же, сколько сейчас у треугольника