A simple implementation of the TPTVertexProcessor policy interface required by all the PTLibCore functions. This class is responsible of processing each vertex generated by the path tracer, including:
- the computation of NEE weights
- the computation of scattering weights
- the accumulation of emissive surface hits
- the accumulation of NEE samples
|
template<typename PTContext > |
FERMAT_DEVICE uint32 | preprocess_vertex (const PTContext &context, const RenderingContextView &renderer, const PixelInfo pixel_info, const EyeVertex &ev, const float cone_radius, const cugar::Bbox3f scene_bbox, const uint32 prev_vertex_info, const cugar::Vector3f w, const float p_prev) |
|
template<typename PTContext > |
FERMAT_DEVICE void | compute_nee_weights (const PTContext &context, const RenderingContextView &renderer, const PixelInfo pixel_info, const uint32 prev_vertex_info, const uint32 vertex_info, const EyeVertex &ev, const cugar::Vector3f &f_d, const cugar::Vector3f &f_g, const cugar::Vector3f &w, const cugar::Vector3f &f_L, cugar::Vector3f &out_w_d, cugar::Vector3f &out_w_g, uint32 &out_vertex_info) |
|
template<typename PTContext > |
FERMAT_DEVICE void | compute_scattering_weights (const PTContext &context, const RenderingContextView &renderer, const PixelInfo pixel_info, const uint32 prev_vertex_info, const uint32 vertex_info, const EyeVertex &ev, const uint32 out_comp, const cugar::Vector3f &g, const cugar::Vector3f &w, cugar::Vector3f &out_w, uint32 &out_vertex_info) |
| [PTVertexProcessor::compute_nee_weights] More...
|
|
template<typename PTContext > |
FERMAT_DEVICE void | accumulate_emissive (const PTContext &context, RenderingContextView &renderer, const PixelInfo pixel_info, const uint32 prev_vertex_info, const uint32 vertex_info, const EyeVertex &ev, const cugar::Vector3f &w) |
| [PTVertexProcessor::compute_scattering_weights] More...
|
|
template<typename PTContext > |
FERMAT_DEVICE void | accumulate_nee (const PTContext &context, RenderingContextView &renderer, const PixelInfo pixel_info, const uint32 vertex_info, const bool shadow_hit, const cugar::Vector3f &w_d, const cugar::Vector3f &w_g) |
| [PTVertexProcessor::accumulate_emissive] More...
|
|