diff options
Diffstat (limited to 'thirdparty/embree-aarch64/kernels/geometry/conelinei_intersector.h')
-rw-r--r-- | thirdparty/embree-aarch64/kernels/geometry/conelinei_intersector.h | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/thirdparty/embree-aarch64/kernels/geometry/conelinei_intersector.h b/thirdparty/embree-aarch64/kernels/geometry/conelinei_intersector.h deleted file mode 100644 index d47218eb8b..0000000000 --- a/thirdparty/embree-aarch64/kernels/geometry/conelinei_intersector.h +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright 2009-2020 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 - -#pragma once - -#include "coneline_intersector.h" -#include "intersector_epilog.h" - -namespace embree -{ - namespace isa - { - template<int M, int Mx, bool filter> - struct ConeCurveMiIntersector1 - { - typedef LineMi<M> Primitive; - typedef CurvePrecalculations1 Precalculations; - - static __forceinline void intersect(const Precalculations& pre, RayHit& ray, IntersectContext* context, const Primitive& line) - { - STAT3(normal.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom); - const vbool<Mx> valid = line.template valid<Mx>(); - ConeCurveIntersector1<Mx>::intersect(valid,ray,context,geom,pre,v0,v1,cL,cR,Intersect1EpilogM<M,Mx,filter>(ray,context,line.geomID(),line.primID())); - } - - static __forceinline bool occluded(const Precalculations& pre, Ray& ray, IntersectContext* context, const Primitive& line) - { - STAT3(shadow.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom); - const vbool<Mx> valid = line.template valid<Mx>(); - return ConeCurveIntersector1<Mx>::intersect(valid,ray,context,geom,pre,v0,v1,cL,cR,Occluded1EpilogM<M,Mx,filter>(ray,context,line.geomID(),line.primID())); - return false; - } - - static __forceinline bool pointQuery(PointQuery* query, PointQueryContext* context, const Primitive& line) - { - return PrimitivePointQuery1<Primitive>::pointQuery(query, context, line); - } - }; - - template<int M, int Mx, bool filter> - struct ConeCurveMiMBIntersector1 - { - typedef LineMi<M> Primitive; - typedef CurvePrecalculations1 Precalculations; - - static __forceinline void intersect(const Precalculations& pre, RayHit& ray, IntersectContext* context, const Primitive& line) - { - STAT3(normal.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom,ray.time()); - const vbool<Mx> valid = line.template valid<Mx>(); - ConeCurveIntersector1<Mx>::intersect(valid,ray,context,geom,pre,v0,v1,cL,cR,Intersect1EpilogM<M,Mx,filter>(ray,context,line.geomID(),line.primID())); - } - - static __forceinline bool occluded(const Precalculations& pre, Ray& ray, IntersectContext* context, const Primitive& line) - { - STAT3(shadow.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom,ray.time()); - const vbool<Mx> valid = line.template valid<Mx>(); - return ConeCurveIntersector1<Mx>::intersect(valid,ray,context,geom,pre,v0,v1,cL,cR,Occluded1EpilogM<M,Mx,filter>(ray,context,line.geomID(),line.primID())); - return false; - } - - static __forceinline bool pointQuery(PointQuery* query, PointQueryContext* context, const Primitive& line) - { - return PrimitivePointQuery1<Primitive>::pointQuery(query, context, line); - } - }; - - template<int M, int Mx, int K, bool filter> - struct ConeCurveMiIntersectorK - { - typedef LineMi<M> Primitive; - typedef CurvePrecalculationsK<K> Precalculations; - - static __forceinline void intersect(const Precalculations& pre, RayHitK<K>& ray, size_t k, IntersectContext* context, const Primitive& line) - { - STAT3(normal.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom); - const vbool<Mx> valid = line.template valid<Mx>(); - ConeCurveIntersectorK<Mx,K>::intersect(valid,ray,k,context,geom,pre,v0,v1,cL,cR,Intersect1KEpilogM<M,Mx,K,filter>(ray,k,context,line.geomID(),line.primID())); - } - - static __forceinline bool occluded(const Precalculations& pre, RayK<K>& ray, size_t k, IntersectContext* context, const Primitive& line) - { - STAT3(shadow.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom); - const vbool<Mx> valid = line.template valid<Mx>(); - return ConeCurveIntersectorK<Mx,K>::intersect(valid,ray,k,context,geom,pre,v0,v1,cL,cR,Occluded1KEpilogM<M,Mx,K,filter>(ray,k,context,line.geomID(),line.primID())); - } - }; - - template<int M, int Mx, int K, bool filter> - struct ConeCurveMiMBIntersectorK - { - typedef LineMi<M> Primitive; - typedef CurvePrecalculationsK<K> Precalculations; - - static __forceinline void intersect(const Precalculations& pre, RayHitK<K>& ray, size_t k, IntersectContext* context, const Primitive& line) - { - STAT3(normal.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom,ray.time()[k]); - const vbool<Mx> valid = line.template valid<Mx>(); - ConeCurveIntersectorK<Mx,K>::intersect(valid,ray,k,context,geom,pre,v0,v1,cL,cR,Intersect1KEpilogM<M,Mx,K,filter>(ray,k,context,line.geomID(),line.primID())); - } - - static __forceinline bool occluded(const Precalculations& pre, RayK<K>& ray, size_t k, IntersectContext* context, const Primitive& line) - { - STAT3(shadow.trav_prims,1,1,1); - const LineSegments* geom = context->scene->get<LineSegments>(line.geomID()); - Vec4vf<M> v0,v1; - vbool<M> cL,cR; - line.gather(v0,v1,cL,cR,geom,ray.time()[k]); - const vbool<Mx> valid = line.template valid<Mx>(); - return ConeCurveIntersectorK<Mx,K>::intersect(valid,ray,k,context,geom,pre,v0,v1,cL,cR,Occluded1KEpilogM<M,Mx,K,filter>(ray,k,context,line.geomID(),line.primID())); - } - }; - } -} |