// Copyright 2009-2021 Intel Corporation // SPDX-License-Identifier: Apache-2.0 #pragma once #include "triangle.h" #include "intersector_epilog.h" /*! This intersector implements a modified version of the Moeller * Trumbore intersector from the paper "Fast, Minimum Storage * Ray-Triangle Intersection". In contrast to the paper we * precalculate some factors and factor the calculations differently * to allow precalculating the cross product e1 x e2. The resulting * algorithm is similar to the fastest one of the paper "Optimizing * Ray-Triangle Intersection via Automated Search". */ namespace embree { namespace isa { template<int M, typename UVMapper> struct MoellerTrumboreHitM { … }; template<int M, bool early_out = true> struct MoellerTrumboreIntersector1 { … }; template<int K, typename UVMapper> struct MoellerTrumboreHitK { … }; template<int M, int K> struct MoellerTrumboreIntersectorK { … }; } }