RenderMan  26.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 RtBBox & getBoundingBox () 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

PRMAN_INLINE RixPhotonGuiding::RixPhotonGuiding ( float  probability)

Member Function Documentation

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

Referenced by MISAreaLightPdf(), and MISEnvLightPdf().

PRMAN_INLINE bool RixPhotonGuiding::canSample ( const RtPoint3 &  origin) const
PRMAN_INLINE void RixPhotonGuiding::computeOrthonormalBasis ( RtVector3 &  n,
RtVector3 &  s,
RtVector3 &  t 
)
static
PRMAN_INLINE const RtBBox & RixPhotonGuiding::getBoundingBox ( ) const
PRMAN_INLINE bool RixPhotonGuiding::isEnabled ( ) const

Referenced by MISAreaLightPdf(), and MISEnvLightPdf().

PRMAN_INLINE float RixPhotonGuiding::MISAreaLightPdf ( const RtPoint3 &  position,
const RtNormal3 &  normal,
const RtVector3 &  direction,
bool  onesided,
float  dirPdf 
) const
PRMAN_INLINE float RixPhotonGuiding::MISEnvLightPdf ( const RtVector3 &  dirToEnv,
const RtPoint3 &  posInScene,
const RtPoint3 &  center,
float  radius,
float  posPdf 
) const
PRMAN_INLINE bool RixPhotonGuiding::pickPhotonGuiding ( float &  sample) const
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
PRMAN_INLINE void RixPhotonGuiding::samplePosition ( const BoundingBoxProjection bbp,
float  samplex,
float  sampley,
RtPoint3 &  position,
float &  pdf 
) const
PRMAN_INLINE float RixPhotonGuiding::samplingPdf ( ) const

Referenced by MISAreaLightPdf(), and MISEnvLightPdf().

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

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