![]() |
Lightmetrica
0.0.1.50dbee3 (yosakoi)
|
#include <bpt.fullpath.h>
Public Member Functions | |
| LM_PUBLIC_API | BPTFullPath (int s, int t, const BPTSubpath &lightSubpath, const BPTSubpath &eyeSubpath) |
| LM_PUBLIC_API Math::Vec3 | EvaluateUnweightContribution (const Scene &scene, Math::Vec2 &rasterPosition) const |
| LM_PUBLIC_API Math::Float | EvaluateFullpathPDF (int i) const |
| LM_PUBLIC_API Math::Float | EvaluateFullpathPDFRatio (int i) const |
| LM_PUBLIC_API bool | FullpathPDFIsZero (int i) const |
| LM_PUBLIC_API Math::Float | PathSelectionProbability () const |
| LM_PUBLIC_API void | DebugPrint () const |
| LM_PUBLIC_API const BPTPathVertex * | FullPathVertex (int i) const |
| LM_PUBLIC_API Math::PDFEval | FullPathVertexDirectionPDF (int i, TransportDirection transportDir) const |
Public Attributes | |
| int | s |
of vertices in light sub-path | |
| int | t |
of vertices in eye sub-path | |
| const BPTSubpath & | lightSubpath |
| Light sub-path. | |
| const BPTSubpath & | eyeSubpath |
| Eye sub-path. | |
| Math::PDFEval | pdfDL [2] |
| PDF evaluation for y_{s-1} (light sub-path) | |
| Math::PDFEval | pdfDE [2] |
| PDF evaluation for z_{t-1} (eye sub-path) | |
BPT full-path. Represents a full-path combining light sub-path and eye sub-path.
| LM_NAMESPACE_BEGIN BPTFullPath::BPTFullPath | ( | int | s, |
| int | t, | ||
| const BPTSubpath & | lightSubpath, | ||
| const BPTSubpath & | eyeSubpath | ||
| ) |
Constructor. Constructs a full-path from light sub-path and eye-subpath.
| s | Number of vertices in light sub-path. |
| t | Number of vertices in eye sub-path. |
| lightSubpath | Light sub-path. |
| eyeSubpath | Eye sub-path. |
| void BPTFullPath::DebugPrint | ( | ) | const |
Debug print. Prints contents of the full-path.
| Math::Float BPTFullPath::EvaluateFullpathPDF | ( | int | i | ) | const |
Evaluate full-path probability density. Evaluate p_i(x_{s,t}) := p_{i,s+t-i}(x_{s,t}).
| i | Index of PDF. |
| Math::Float BPTFullPath::EvaluateFullpathPDFRatio | ( | int | i | ) | const |
Evaluate full-path probability density ratio. Evaluate p_{i+1}(x_{s,t}) / p_i(x_{s,t}). See Equation (10.9) in [Veach 1997]. This function requires p_s(x_{s,t}) be non-zero.
| i | Index of PDF. |
| Math::Vec3 BPTFullPath::EvaluateUnweightContribution | ( | const Scene & | scene, |
| Math::Vec2 & | rasterPosition | ||
| ) | const |
Evaluate unweight contribution C^*_{s,t}.
| scene | Scene. |
| rasterPosition | Raster position. |
| bool BPTFullPath::FullpathPDFIsZero | ( | int | i | ) | const |
Check if p_i(x_{s,t}) is zero.
| i | Index of PDF. |
| true | Zero. |
| false | Non-zero. |
| const BPTPathVertex * BPTFullPath::FullPathVertex | ( | int | i | ) | const |
Get i-th vertex of the full-path.
| i | Index of PDF. |
| Math::PDFEval BPTFullPath::FullPathVertexDirectionPDF | ( | int | i, |
| TransportDirection | transportDir | ||
| ) | const |
Get i-th directional PDF evaluation of the full-path.
| i | Index of PDF. |
| transportDir | Transport direction. |
| Math::Float BPTFullPath::PathSelectionProbability | ( | ) | const |
Evaluate path selection probability. Evaluates path selection probability due to Russian roulette.
1.8.8