2021-05-20 12:49:33 +02:00
|
|
|
// Copyright 2009-2021 Intel Corporation
|
2020-12-19 14:50:20 +01:00
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "bvh.h"
|
|
|
|
|
|
|
|
namespace embree
|
|
|
|
{
|
|
|
|
namespace isa
|
|
|
|
{
|
|
|
|
template<int N>
|
|
|
|
class BVHNRotate
|
|
|
|
{
|
|
|
|
typedef typename BVHN<N>::NodeRef NodeRef;
|
|
|
|
|
|
|
|
public:
|
|
|
|
static const bool enabled = false;
|
|
|
|
|
|
|
|
static __forceinline size_t rotate(NodeRef parentRef, size_t depth = 1) { return 0; }
|
|
|
|
static __forceinline void restructure(NodeRef ref, size_t depth = 1) {}
|
|
|
|
};
|
|
|
|
|
|
|
|
/* BVH4 tree rotations */
|
|
|
|
template<>
|
|
|
|
class BVHNRotate<4>
|
|
|
|
{
|
|
|
|
typedef BVH4::AABBNode AABBNode;
|
|
|
|
typedef BVH4::NodeRef NodeRef;
|
|
|
|
|
|
|
|
public:
|
|
|
|
static const bool enabled = true;
|
|
|
|
|
|
|
|
static size_t rotate(NodeRef parentRef, size_t depth = 1);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|