Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
SurfaceHit.h File Reference
#include "Core/HitProbe.h"
#include "Core/HitDetail.h"
#include "Core/Ray.h"
#include "Math/math.h"
#include "Utility/TBitFlags.h"
#include <Common/assertion.h>
#include <Common/primitive_type.h>

Go to the source code of this file.

Classes

class  ph::SurfaceHit
 General information about a ray-surface intersection event. More...
 

Namespaces

namespace  ph
 The root for all renderer implementations.
 
namespace  ph::detail
 Implementation detail mainly for internal usages.
 

Typedefs

using ph::detail::SurfaceHitReasonIntType = uint8
 
using ph::SurfaceHitReason = TEnumFlags<ESurfaceHitReason>
 

Enumerations

enum class  ph::ESurfaceHitReason : detail::SurfaceHitReasonIntType {
  ph::Invalid = 0 , ph::Unknown = detail::shr_unknown_bits , ph::IncidentRay = detail::shr_incident_ray_bits , ph::SampledPos = detail::shr_sampled_pos_bits ,
  ph::SampledDir = detail::shr_sampled_dir_bits , ph::SampledPosDir = detail::shr_sampled_pos_bits | detail::shr_sampled_dir_bits
}
 

Functions

 ph::PH_DEFINE_INLINE_ENUM_FLAG_OPERATORS (ESurfaceHitReason)
 

Variables

constexpr auto ph::detail::shr_unknown_bits = math::flag_bit<uint8, 0>()
 
constexpr auto ph::detail::shr_incident_ray_bits = math::flag_bit<uint8, 1>()
 
constexpr auto ph::detail::shr_sampled_pos_bits = math::flag_bit<uint8, 2>()
 
constexpr auto ph::detail::shr_sampled_dir_bits = math::flag_bit<uint8, 3>()