Browse Source

[3.x] BVH - fix axis getting mixed up when split leaf

Split preferentially on longest axis, rather than shortest axis.
风青山 1 year ago
parent
commit
ab76395144
1 changed files with 2 additions and 2 deletions
  1. 2 2
      core/math/bvh_split.inc

+ 2 - 2
core/math/bvh_split.inc

@@ -30,8 +30,8 @@ void _split_leaf_sort_groups_simple(int &num_a, int &num_b, uint16_t *group_a, u
 
 
 	int order[POINT::AXIS_COUNT];
 	int order[POINT::AXIS_COUNT];
 
 
-	order[0] = size.min_axis();
-	order[POINT::AXIS_COUNT - 1] = size.max_axis();
+	order[0] = size.max_axis();
+	order[POINT::AXIS_COUNT - 1] = size.min_axis();
 
 
 	static_assert(POINT::AXIS_COUNT <= 3, "BVH POINT::AXIS_COUNT has unexpected size");
 	static_assert(POINT::AXIS_COUNT <= 3, "BVH POINT::AXIS_COUNT has unexpected size");
 	if (POINT::AXIS_COUNT == 3) {
 	if (POINT::AXIS_COUNT == 3) {