|
template<typename TRandomGenerator , typename BsdfComponent > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | invert_layer (const BsdfComponent &bsdf_comp, const VertexGeometry &v_prev, const cugar::Vector3f &in, const cugar::Vector3f &out, TRandomGenerator &random, cugar::Vector3f &z, float &p, float &p_proj) |
|
template<typename TRandomGenerator > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | invert_bsdf (const Bsdf &bsdf, const VertexGeometry &v_prev, const cugar::Vector3f &in, const cugar::Vector3f &out, TRandomGenerator &random, cugar::Vector3f &z, float &p, float &p_proj, bool RR=true) |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE void | inversion_pdf (const Bsdf &bsdf, const VertexGeometry &v_prev, const cugar::Vector3f &in, const cugar::Vector3f &out, cugar::Vector3f &z, float &p, float &p_proj) |
|
template<typename PathType , typename TRandomGenerator > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | invert_eye_subpath (const PathType &path, const uint32 t, const uint32 t_ext, float *out_Z, float *out_pdf, const RenderingContextView &renderer, TRandomGenerator &random) |
|
template<typename PathType > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | eye_subpath_inversion_pdf (const PathType &path, const uint32 t, const uint32 t_ext, const float *out_Z, const RenderingContextView &renderer) |
|
template<typename PathType , typename TRandomGenerator > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | invert_light_subpath (const PathType &path, const uint32 s, const uint32 s_ext, float *out_Z, float *out_pdf, const RenderingContextView &renderer, TRandomGenerator &random) |
|
template<typename PathType > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | light_subpath_inversion_pdf (const PathType &path, const uint32 s, const uint32 s_ext, const float *out_Z, const RenderingContextView &renderer) |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE void | BsdfInverse::setup (ComponentSelectionStrategy _strategy, const Bsdf &bsdf, const VertexGeometry &geom, const cugar::Vector3f &in, const cugar::Vector3f &out, const bool _RR=false) |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | BsdfInverse::precompute_component_selection_coefficients () |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE Bsdf::ComponentType | BsdfInverse::sample_component (const float v) const |
|
template<typename TRandomGenerator > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | BsdfInverse::invert (const Bsdf &bsdf, const VertexGeometry &geom, const cugar::Vector3f &in, const cugar::Vector3f &out, TRandomGenerator &random, cugar::Vector3f &z, BsdfInverse::PdfType pdf_type=BsdfInverse::kDirectTransformPdf, float *p=NULL, float *p_proj=NULL) |
|
template<typename TRandomGenerator > |
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE bool | BsdfInverse::invert_component (const Bsdf &bsdf, const VertexGeometry &geom, const cugar::Vector3f &in, const cugar::Vector3f &out, const Bsdf::ComponentType out_comp, TRandomGenerator &random, cugar::Vector3f &z, const bool output_global_coordinates=true) |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | BsdfInverse::pdf (const Bsdf::ComponentType out_comp, cugar::SphericalMeasure measure=cugar::kProjectedSolidAngle, const bool weighted=false) const |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | BsdfInverse::pdf_comp (const Bsdf::ComponentType out_comp) const |
|
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float | BsdfInverse::weight (const Bsdf::ComponentType out_comp) const |
|