Fermat
Functions | Variables
bpt Namespace Reference

[SampleSinkBaseBlock] More...

Functions

template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
void sample_light_subpaths (const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TBPTContext &context, const TBPTConfig &config, RenderingContext &renderer, RenderingContextView &renderer_view)
 
template<typename TSampleSink , typename TBPTContext >
void solve_shadows (TSampleSink sample_sink, TBPTContext &context, RenderingContext &renderer, RenderingContextView &renderer_view)
 
template<typename TPrimaryCoordinates , typename TSampleSink , typename TBPTContext , typename TBPTConfig >
void sample_eye_subpaths (const uint32 n_eye_paths, const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TSampleSink sample_sink, TBPTContext &context, const TBPTConfig &config, RenderingContext &renderer, RenderingContextView &renderer_view, const bool lazy_shadows=false)
 
template<typename TEyePrimaryCoordinates , typename TLightPrimaryCoordinates , typename TSampleSink , typename TBPTContext , typename TBPTConfig >
void sample_paths (const uint32 n_eye_paths, const uint32 n_light_paths, TEyePrimaryCoordinates eye_primary_coords, TLightPrimaryCoordinates light_primary_coords, TSampleSink sample_sink, TBPTContext &context, const TBPTConfig &config, RenderingContext &renderer, RenderingContextView &renderer_view, const bool lazy_shadows=false)
 
template<typename TSampleSink , typename TBPTContext , typename TBPTConfig >
void light_tracing (const uint32 n_light_paths, TSampleSink sample_sink, TBPTContext &context, const TBPTConfig &config, RenderingContext &renderer, RenderingContextView &renderer_view)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
FERMAT_HOST_DEVICE void generate_primary_light_vertex (const uint32 light_path_id, const uint32 n_light_paths, const TPrimaryCoordinates &primary_coords, TBPTContext &context, RenderingContextView &renderer, TBPTConfig &config)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
FERMAT_HOST_DEVICE void process_secondary_light_vertex (const uint32 queue_idx, const uint32 n_light_paths, const TPrimaryCoordinates &primary_coords, TBPTContext &context, RenderingContextView &renderer, TBPTConfig &config)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
FERMAT_HOST_DEVICE void generate_primary_eye_vertex (const uint32 idx, const uint32 n_eye_paths, const uint32 n_light_paths, const TPrimaryCoordinates &primary_coords, TBPTContext &context, RenderingContextView &renderer, TBPTConfig &config)
 
template<typename TSampleSink , typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
FERMAT_HOST_DEVICE void process_secondary_eye_vertex (const uint32 queue_idx, const uint32 n_eye_paths, const uint32 n_light_paths, TSampleSink &sample_sink, const TPrimaryCoordinates &primary_coords, TBPTContext &context, RenderingContextView &renderer, TBPTConfig &config)
 
template<typename TBPTContext , typename TBPTConfig >
FERMAT_HOST_DEVICE void connect_to_camera (const uint32 light_idx, const uint32 n_light_paths, TBPTContext &context, RenderingContextView &renderer, const TBPTConfig &config)
 
template<typename TSampleSink , typename TBPTContext >
FERMAT_HOST_DEVICE void solve_occlusion (const uint32 queue_idx, TSampleSink &sample_sink, TBPTContext &context, RenderingContextView &renderer)
 
template<typename TBPTContext , typename TBPTConfig >
__global__ void light_tracing_kernel (const uint32 n_light_paths, TBPTContext context, RenderingContextView renderer, TBPTConfig config)
 
template<typename TBPTContext , typename TBPTConfig >
void light_tracing (const uint32 n_light_paths, TBPTContext &context, RenderingContextView &renderer, TBPTConfig &config)
 
template<typename TSampleSink , typename TBPTContext >
__global__ void solve_occlusions_kernel (const uint32 in_queue_size, TSampleSink sample_sink, TBPTContext context, RenderingContextView renderer)
 
template<typename TSampleSink , typename TBPTContext >
void solve_occlusions (const uint32 in_queue_size, TSampleSink sample_sink, TBPTContext context, RenderingContextView renderer)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
__global__ void generate_primary_light_vertices_kernel (const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TBPTContext context, RenderingContextView renderer, const TBPTConfig config)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
void generate_primary_light_vertices (const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TBPTContext context, RenderingContextView renderer, const TBPTConfig config)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
__global__ __launch_bounds__ (SECONDARY_LIGHT_VERTICES_BLOCKSIZE, SECONDARY_LIGHT_VERTICES_CTA_BLOCKS) void process_secondary_light_vertices_kernel(const uint32 in_queue_size
 
 if (thread_id< in_queue_size) process_secondary_light_vertex(thread_id
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
void process_secondary_light_vertices (const uint32 in_queue_size, const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TBPTContext context, RenderingContextView renderer, const TBPTConfig config)
 
template<typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
__global__ void generate_primary_eye_vertices_kernel (const uint32 n_eye_paths, const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TBPTContext context, RenderingContextView renderer, const TBPTConfig config)
 
template<typename TPrimaryCoordinates , typename TBPTConfig , typename TBPTContext >
void generate_primary_eye_vertices (const uint32 n_eye_paths, const uint32 n_light_paths, TPrimaryCoordinates primary_coords, TBPTContext context, RenderingContextView renderer, const TBPTConfig config)
 
template<typename TSampleSink , typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
__global__ __launch_bounds__ (SECONDARY_EYE_VERTICES_BLOCKSIZE, SECONDARY_EYE_VERTICES_CTA_BLOCKS) void process_secondary_eye_vertices_kernel(const uint32 in_queue_size
 
template<typename TSampleSink , typename TPrimaryCoordinates , typename TBPTContext , typename TBPTConfig >
void process_secondary_eye_vertices (const uint32 in_queue_size, const uint32 n_eye_paths, const uint32 n_light_paths, TSampleSink sink, TPrimaryCoordinates primary_coords, TBPTContext context, RenderingContextView renderer, const TBPTConfig config)
 

Variables

__global__ const uint32 n_light_paths
 
__global__ const uint32 TPrimaryCoordinates primary_coords
 
__global__ const uint32 TPrimaryCoordinates TBPTContext context
 
__global__ const uint32 TPrimaryCoordinates TBPTContext RenderingContextView renderer
 
__global__ const uint32 TPrimaryCoordinates TBPTContext RenderingContextView const TBPTConfig config
 
__global__ const uint32 n_eye_paths
 
__global__ const uint32 const uint32 TSampleSink sink
 

Detailed Description

[SampleSinkBaseBlock]