Fermat
Public Methods | Static Public Methods | Public Members | List of all members
TempPathWeights Struct Reference

Detailed description

A small utility class to track temporary path weights needed for internal MIS calculations

#include <bpt_utils.h>

Public Methods

FERMAT_HOST_DEVICE TempPathWeights (const PathWeights _weights, const float _out_p, const float _out_cos_theta)
 
FERMAT_HOST_DEVICE TempPathWeights (const float _pGp_sum, const float _pG, const float _out_p, const float _out_cos_theta)
 
FERMAT_HOST_DEVICE TempPathWeights (const float4 f)
 
template<typename EyeLightVertexType >
FERMAT_HOST_DEVICE TempPathWeights (const EyeLightVertexType _v, const cugar::Vector3f _out, const float _out_p)
 
FERMAT_HOST_DEVICE operator PathWeights () const
 
FERMAT_HOST_DEVICE operator float4 () const
 

Static Public Methods

static FERMAT_HOST_DEVICE TempPathWeights eye_vertex_1 (const float p_e, const float cos_theta_o, const float light_tracing_weight)
 
static FERMAT_HOST_DEVICE TempPathWeights light_vertex_1 (const float p_A, const float p_proj, const float cos_theta_o)
 

Public Members

union {
   float4   vector_storage
 
   struct {
      float   pGp_sum
 
      float   pG
 
      float   out_p
 
      float   out_cos_theta
 
   } 
 
}; 
 

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