godot/thirdparty/embree/kernels/builders/heuristic_openmerge_array.h

// Copyright 2009-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

// TODO: 
//       - adjust parallel build thresholds
//       - openNodesBasedOnExtend should consider max extended size
  
#pragma once

#include "heuristic_binning.h"
#include "heuristic_spatial.h"

/* stop opening of all bref.geomIDs are the same */
#define EQUAL_GEOMID_STOP_CRITERIA

/* 10% spatial extend threshold */
#define MAX_EXTEND_THRESHOLD

/* maximum is 8 children */
#define MAX_OPENED_CHILD_NODES

/* open until all build refs are below threshold size in one step */
#define USE_LOOP_OPENING

namespace embree
{
  namespace isa
  { 
    /*! Performs standard object binning */
    template<typename NodeOpenerFunc, typename PrimRef, size_t OBJECT_BINS>
      struct HeuristicArrayOpenMergeSAH
      {};
  }
}