#pragma once
#include "primitive.h"
#include "../common/scene.h"
namespace embree
{
template <int M>
struct TriangleMi
{ … };
namespace isa
{
template<int M>
struct TriangleMi : public embree::TriangleMi<M>
{ … };
#if !defined(EMBREE_COMPACT_POLYS)
template<> template<> __forceinline const vuint<4>& TriangleMi<4>::getVertexOffset<0>() const { … }
template<> template<> __forceinline const vuint<4>& TriangleMi<4>::getVertexOffset<1>() const { … }
template<> template<> __forceinline const vuint<4>& TriangleMi<4>::getVertexOffset<2>() const { … }
#endif
template<>
__forceinline void TriangleMi<4>::gather(Vec3vf4& p0,
Vec3vf4& p1,
Vec3vf4& p2,
const Scene* const scene) const
{ … }
template<>
__forceinline void TriangleMi<4>::gather(Vec3vf4& p0,
Vec3vf4& p1,
Vec3vf4& p2,
const TriangleMesh* mesh,
const Scene *const scene,
const int itime) const
{ … }
template<>
__forceinline void TriangleMi<4>::gather(Vec3vf4& p0,
Vec3vf4& p1,
Vec3vf4& p2,
const Scene *const scene,
const float time) const
{ … }
}
template<int M>
typename TriangleMi<M>::Type TriangleMi<M>::type;
Triangle4i;
}