В настоящее время я реализую иерархию ограничивающих объемов только для 3D-треугольников. К сожалению, все объяснения BVH не соответствуют той части, где вы сортируете свои объекты для разделения. Для начала я хочу стремиться к сбалансированному дереву и использовать срединный срез. Это потребовало бы от меня сортировки либо треугольников, либо их ограничительных рамок (AABB) после пространственного критерия на оси разделения текущего узла. Я действительно не уверен, достаточно ли максимального или минимального удлинения BB или треугольника для правильного разделения, поскольку некоторые треугольники могут быть больше. Я также не уверен, что лучше сравнивать ограничивающую рамку или треугольник.
Вторая часть проблемы заключается в том, что сортировка каждого шага кажется дорогой. Другие алгоритмы в компьютерной графике используют предварительно отсортированные списки, а затем разбивают их в соответствии с критерием разделения. Я не вижу способа эффективно сравнить треугольники и убедиться, что они принадлежат списку. Означает ли это, что я должен сортировать список каждый шаг?