godot/thirdparty/embree/kernels/common/hit.h

// Copyright 2009-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

#pragma once

#include "default.h"
#include "ray.h"
#include "instance_stack.h"

namespace embree
{
  /* Hit structure for K hits */
  template<int K>
    struct HitK
  {};

  /* Specialization for a single hit */
  template<>
    struct __aligned(16) HitK<1>
  {};

  /* Shortcuts */
  Hit;
  Hit4;
  Hit8;
  Hit16;
  Hitx;

  /* Outputs hit to stream */
  template<int K>
  __forceinline embree_ostream operator<<(embree_ostream cout, const HitK<K>& ray)
  {}

  template<typename Hit>
    __forceinline void copyHitToRay(RayHit& ray, const Hit& hit)
  {}

  template<int K>
    __forceinline void copyHitToRay(const vbool<K>& mask, RayHitK<K>& ray, const HitK<K>& hit)
  {}
}