@@ -469,20 +469,20 @@ __forceinline bool intersect_primitive(intel_ray_query_t& query, Ray& ray, Scene
469469 if (gtype == Geometry::GTY_FLAT_LINEAR_CURVE && (feature_mask & RTC_FEATURE_FLAG_FLAT_LINEAR_CURVE))
470470 {
471471 LineSegments* geom = context->scene ->get <LineSegments>(geomID);
472- Vec3ff v0, v1; geom->gather_safe (v0,v1,geom->segment (primID),ray.time ());
472+ Vec3ff v0, v1; geom->gather_safe (v0,v1,geom->segment (primID),ray.time (), feature_mask & RTC_FEATURE_FLAG_MOTION_BLUR );
473473 return isa::FlatLinearCurveIntersector1<1 >::intersect (true ,ray,context,geom,pre ,v0,v1,Intersect1Epilog1_HWIF<Ray>(ray,context,geomID,primID,filter));
474474 }
475475 else if (gtype == Geometry::GTY_ROUND_LINEAR_CURVE && (feature_mask & RTC_FEATURE_FLAG_ROUND_LINEAR_CURVE))
476476 {
477477 LineSegments* geom = context->scene ->get <LineSegments>(geomID);
478- Vec3ff v0,v1,v2,v3; geom->gather_safe (v0,v1,v2,v3,primID,geom->segment (primID),ray.time ());
478+ Vec3ff v0,v1,v2,v3; geom->gather_safe (v0,v1,v2,v3,primID,geom->segment (primID),ray.time (), feature_mask & RTC_FEATURE_FLAG_MOTION_BLUR );
479479 return isa::RoundLinearCurveIntersector1<1 >().intersect (true ,ray,context,geom,pre ,v0,v1,v2,v3,Intersect1Epilog1_HWIF<Ray>(ray,context,geomID,primID,filter));
480480 }
481481 else if (gtype == Geometry::GTY_CONE_LINEAR_CURVE && (feature_mask & RTC_FEATURE_FLAG_CONE_LINEAR_CURVE))
482482 {
483483 LineSegments* geom = context->scene ->get <LineSegments>(geomID);
484484 Vec3ff v0 = zero, v1 = zero; bool cL = false , cR = false ;
485- geom->gather_safe (v0,v1,cL,cR,primID,geom->segment (primID),ray.time ());
485+ geom->gather_safe (v0,v1,cL,cR,primID,geom->segment (primID),ray.time (), feature_mask & RTC_FEATURE_FLAG_MOTION_BLUR );
486486 return isa::ConeCurveIntersector1<1 >().intersect (true ,ray,context,geom,pre ,v0,v1,cL,cR,Intersect1Epilog1_HWIF<Ray>(ray,context,geomID,primID,filter));
487487 }
488488 else
@@ -516,7 +516,7 @@ __forceinline bool intersect_primitive(intel_ray_query_t& query, Ray& ray, Scene
516516 if (basis == Geometry::GTY_BASIS_HERMITE && (feature_mask & RTC_FEATURE_FLAG_NORMAL_ORIENTED_HERMITE_CURVE))
517517 geom->gather_hermite_safe (v0,v1,n0,n1,v2,v3,n2,n3,geom->curve (primID),ray.time ());
518518 else
519- geom->gather_safe (v0,v1,v2,v3,n0,n1,n2,n3,geom->curve (primID),ray.time ());
519+ geom->gather_safe (v0,v1,v2,v3,n0,n1,n2,n3,geom->curve (primID),ray.time (), feature_mask & RTC_FEATURE_FLAG_MOTION_BLUR );
520520 isa::convert_to_bezier (gtype, v0,v1,v2,v3, n0,n1,n2,n3);
521521 return Intersector ().intersect (pre ,ray,context,geom,primID,v0,v1,v2,v3,n0,n1,n2,n3,Intersect1Epilog1_HWIF<Ray>(ray,context,geomID,primID,filter));
522522 }
@@ -526,7 +526,7 @@ __forceinline bool intersect_primitive(intel_ray_query_t& query, Ray& ray, Scene
526526 if (basis == Geometry::GTY_BASIS_HERMITE && (feature_mask & (RTC_FEATURE_FLAG_ROUND_HERMITE_CURVE | RTC_FEATURE_FLAG_FLAT_HERMITE_CURVE)))
527527 geom->gather_hermite_safe (v0,v1,v2,v3,geom->curve (primID),ray.time ());
528528 else
529- geom->gather_safe (v0,v1,v2,v3,geom->curve (primID),ray.time ());
529+ geom->gather_safe (v0,v1,v2,v3,geom->curve (primID),ray.time (), feature_mask & RTC_FEATURE_FLAG_MOTION_BLUR );
530530
531531 isa::convert_to_bezier (gtype, v0,v1,v2,v3);
532532
0 commit comments