instance_intersector1.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // ======================================================================== //
  2. // Copyright 2009-2017 Intel Corporation //
  3. // //
  4. // Licensed under the Apache License, Version 2.0 (the "License"); //
  5. // you may not use this file except in compliance with the License. //
  6. // You may obtain a copy of the License at //
  7. // //
  8. // http://www.apache.org/licenses/LICENSE-2.0 //
  9. // //
  10. // Unless required by applicable law or agreed to in writing, software //
  11. // distributed under the License is distributed on an "AS IS" BASIS, //
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
  13. // See the License for the specific language governing permissions and //
  14. // limitations under the License. //
  15. // ======================================================================== //
  16. #pragma once
  17. #include "../common/scene_instance.h"
  18. #include "../common/ray.h"
  19. namespace embree
  20. {
  21. namespace isa
  22. {
  23. struct FastInstanceIntersector1
  24. {
  25. static void intersect(const Instance* instance, Ray& ray, size_t item);
  26. static void occluded (const Instance* instance, Ray& ray, size_t item);
  27. };
  28. struct FastInstanceIntersector1M
  29. {
  30. static void intersect(const Instance* instance, RTCIntersectContext* context, Ray** rays, size_t M, size_t item);
  31. static void occluded (const Instance* instance, RTCIntersectContext* context, Ray** rays, size_t M, size_t item);
  32. };
  33. }
  34. }