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