RenderManAPI  24.0
RixPhotonGuiding Class Reference

#include <RixPhotonGuiding.h>

Classes

class  BoundingBoxProjection
 

Public Member Functions

PRMAN_INLINE RixPhotonGuiding (float probability)
 
PRMAN_INLINE void setBoundingBox (const RtBBox &boundingBox, float enlarge=0.1f)
 
PRMAN_INLINE const RtBBoxgetBoundingBox () const
 
PRMAN_INLINE float samplingPdf () const
 
PRMAN_INLINE bool isEnabled () const
 
PRMAN_INLINE bool pickPhotonGuiding (float &sample) const
 
PRMAN_INLINE bool canSample (const RtPoint3 &origin, const RtNormal3 &normal, bool onesided) const
 
PRMAN_INLINE bool canSample (const RtPoint3 &origin) const
 
PRMAN_INLINE void sampleDirection (const RtPoint3 &origin, const RtNormal3 &normal, const BoundingBoxProjection &bbp, float samplex, float sampley, RtVector3 &direction, float &cosTheta, float &pdf) const
 
PRMAN_INLINE float directionPdf (const RtPoint3 &origin, const BoundingBoxProjection &bbp, const RtVector3 &direction) const
 
PRMAN_INLINE void samplePosition (const BoundingBoxProjection &bbp, float samplex, float sampley, RtPoint3 &position, float &pdf) const
 
PRMAN_INLINE float positionPdf (const RtPoint3 &position, const BoundingBoxProjection &bbp) const
 
PRMAN_INLINE float MISAreaLightPdf (const RtPoint3 &position, const RtNormal3 &normal, const RtVector3 &direction, bool onesided, float dirPdf) const
 
PRMAN_INLINE float MISEnvLightPdf (const RtVector3 &dirToEnv, const RtPoint3 &posInScene, const RtPoint3 &center, float radius, float posPdf) const
 

Static Public Member Functions

static PRMAN_INLINE void computeOrthonormalBasis (RtVector3 &n, RtVector3 &s, RtVector3 &t)
 

Constructor & Destructor Documentation

◆ RixPhotonGuiding()

PRMAN_INLINE RixPhotonGuiding::RixPhotonGuiding ( float  probability)

References RtBBox::max, and RtBBox::min.

Member Function Documentation

◆ canSample() [1/2]

PRMAN_INLINE bool RixPhotonGuiding::canSample ( const RtPoint3 origin,
const RtNormal3 normal,
bool  onesided 
) const

◆ canSample() [2/2]

PRMAN_INLINE bool RixPhotonGuiding::canSample ( const RtPoint3 origin) const

References RtBBox::Contains().

◆ computeOrthonormalBasis()

PRMAN_INLINE void RixPhotonGuiding::computeOrthonormalBasis ( RtVector3 n,
RtVector3 s,
RtVector3 t 
)
static

◆ directionPdf()

◆ getBoundingBox()

PRMAN_INLINE const RtBBox & RixPhotonGuiding::getBoundingBox ( ) const

◆ isEnabled()

PRMAN_INLINE bool RixPhotonGuiding::isEnabled ( ) const

Referenced by MISAreaLightPdf(), and MISEnvLightPdf().

◆ MISAreaLightPdf()

PRMAN_INLINE float RixPhotonGuiding::MISAreaLightPdf ( const RtPoint3 position,
const RtNormal3 normal,
const RtVector3 direction,
bool  onesided,
float  dirPdf 
) const

◆ MISEnvLightPdf()

PRMAN_INLINE float RixPhotonGuiding::MISEnvLightPdf ( const RtVector3 dirToEnv,
const RtPoint3 posInScene,
const RtPoint3 center,
float  radius,
float  posPdf 
) const

◆ pickPhotonGuiding()

PRMAN_INLINE bool RixPhotonGuiding::pickPhotonGuiding ( float &  sample) const

◆ positionPdf()

◆ sampleDirection()

PRMAN_INLINE void RixPhotonGuiding::sampleDirection ( const RtPoint3 origin,
const RtNormal3 normal,
const BoundingBoxProjection bbp,
float  samplex,
float  sampley,
RtVector3 direction,
float &  cosTheta,
float &  pdf 
) const

◆ samplePosition()

PRMAN_INLINE void RixPhotonGuiding::samplePosition ( const BoundingBoxProjection bbp,
float  samplex,
float  sampley,
RtPoint3 position,
float &  pdf 
) const

◆ samplingPdf()

PRMAN_INLINE float RixPhotonGuiding::samplingPdf ( ) const

Referenced by MISAreaLightPdf(), and MISEnvLightPdf().

◆ setBoundingBox()

PRMAN_INLINE void RixPhotonGuiding::setBoundingBox ( const RtBBox boundingBox,
float  enlarge = 0.1f 
)

The documentation for this class was generated from the following file: