- A utility class to encapsulate all important information for a eye subpath vertex
#include <bpt_utils.h>
|
template<typename RayType > |
FERMAT_HOST_DEVICE void | setup (const RayType &ray, const Hit &hit, const cugar::Vector3f &_alpha, const TempPathWeights &_weights, const uint32 _depth, const RenderingContextView &renderer, const float min_roughness=0.0f) |
|
FERMAT_HOST_DEVICE void | setup (const cugar::Vector3f &_in, const VertexGeometryId &_v, const cugar::Vector3f &_alpha, const TempPathWeights &_weights, const uint32 _depth, const RenderingContextView &renderer) |
|
FERMAT_HOST_DEVICE | EyeVertex (const Ray &_ray, const Hit &_hit, const cugar::Vector3f &_alpha, const TempPathWeights &_weights, const uint32 _depth, const RenderingContextView &renderer) |
|
FERMAT_HOST_DEVICE | EyeVertex (const cugar::Vector3f &_in, const VertexGeometryId &_v, const cugar::Vector3f &_alpha, const TempPathWeights &_weights, const uint32 _depth, const RenderingContextView &renderer) |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | sample (const float z[3], Bsdf::ComponentType &out_comp, cugar::Vector3f &out, float &out_p, float &out_p_proj, cugar::Vector3f &out_g, bool RR=true, bool evaluate_full_bsdf=false, const Bsdf::ComponentType components=Bsdf::kAllComponents) const |
|
◆ sample()
sample an outgoing direction
- Parameters
-
z | the incoming direction |
out_comp | the output component |
out | the outgoing direction |
out_p | the output solid angle pdf |
out_p_proj | the output projected solid angle pdf |
out_g | the output sample value = f/p_proj |
RR | indicate whether to use Russian-Roulette or not |
evaluate_full_bsdf | ndicate whether to evaluate the full BSDF, or just an unbiased estimate |
components | the components to consider |
The documentation for this struct was generated from the following file:
- C:/p4research/research/jpantaleoni/Fermat-Public/src/bpt_utils.h