9#include <Common/primitive_type.h>
10#include <Common/assertion.h>
14namespace ph {
class HitDetail; }
15namespace ph {
class PrimitivePosSampleInput; }
16namespace ph {
class DirectEnergyPdfInput; }
34 const std::optional<math::Vector3R>& observationPos = std::nullopt,
62 static std::optional<math::Vector3R> inferObservationPos(
const SurfaceHit& X);
65 std::optional<math::Vector3R> m_observationPos;
82 operator bool ()
const;
106 const std::optional<math::Vector3R>& observationPos,
110 m_observationPos = observationPos;
140 return m_observationPos;
160inline PrimitivePosPdfOutput::operator bool ()
const
math::Vector3R getUVW() const
Definition HitDetail.h:168
Output for PrimitivePosPdfOutput.
Definition PrimitivePosPdfQuery.h:75
real getPdfA() const
Definition PrimitivePosPdfQuery.h:148
void setPdf(const lta::PDF &pdf)
Definition PrimitivePosPdfQuery.h:143
const lta::PDF & getPdf() const
Definition PrimitivePosPdfQuery.h:153
Information for the probability of generating a specific sample point on a primitive.
Definition PrimitivePosPdfQuery.h:91
Input inputs
Definition PrimitivePosPdfQuery.h:96
PrimitivePosPdfQuery()=default
Output outputs
Definition PrimitivePosPdfQuery.h:97
General information about a ray-surface intersection event.
Definition SurfaceHit.h:59
const HitDetail & getDetail() const
Definition SurfaceHit.h:159
math::Vector3R getPos() const
Definition SurfaceHit.h:186
A sample from a Probability Density Function (PDF).
Definition PDF.h:14
real getPdfA() const
Definition PDF.h:93
The root for all renderer implementations.
Definition EEngineProject.h:6