Fermat
|
[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 |
[SampleSinkBaseBlock]