godot/thirdparty/embree/kernels/common/builder.h

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

#pragma once

#include "default.h"
#include "accel.h"

namespace embree
{  
#define MODE_HIGH_QUALITY

  /*! virtual interface for all hierarchy builders */
  class Builder : public RefCount {};

  /*! virtual interface for progress monitor class */
  struct BuildProgressMonitor {};

  /*! build the progress monitor interface from a closure */
  template<typename Closure>
    struct ProgressMonitorClosure : BuildProgressMonitor
  {};
  template<typename Closure> __forceinline const ProgressMonitorClosure<Closure> BuildProgressMonitorFromClosure(const Closure& closure) {}

  struct LineSegments;
  struct TriangleMesh;
  struct QuadMesh;
  struct UserGeometry;

  class Scene;

  createLineSegmentsAccelTy;
  createTriangleMeshAccelTy;
  createQuadMeshAccelTy;
  createUserGeometryAccelTy;

}