|
Fermat
|
Modules | |
| PTLibCore | |
Classes | |
| struct | DirectLightingMesh |
| struct | DirectLightingRL |
| struct | PTContextQueues |
| struct | PTLoopStats |
| struct | PTRayQueue |
| struct | PTVertexProcessor |
Macros | |
| #define | SHADE_HITS_BLOCKSIZE 64 |
| #define | SHADE_HITS_CTA_BLOCKS 8 |
Functions | |
| void | alloc_queues (PTOptions options, const uint32 n_pixels, PTRayQueue &input_queue, PTRayQueue &scatter_queue, PTRayQueue &shadow_queue, cugar::memory_arena &arena) |
| template<typename TPTContext > | |
| __global__ void | generate_primary_rays_kernel (TPTContext context, RenderingContextView renderer, cugar::Vector3f U, cugar::Vector3f V, cugar::Vector3f W, const float W_len, const float square_pixel_focal_length) |
| template<typename TPTContext > | |
| void | generate_primary_rays (TPTContext context, const RenderingContextView renderer) |
| template<uint32 NUM_WARPS, typename TPTContext , typename TPTVertexProcessor > | |
| __global__ | __launch_bounds__ (SHADE_HITS_BLOCKSIZE, SHADE_HITS_CTA_BLOCKS) void shade_hits_kernel(const uint32 in_queue_size |
| if (thread_id< in_queue_size) | |
| template<typename TPTContext , typename TPTVertexProcessor > | |
| void | shade_hits (const uint32 in_queue_size, TPTContext context, TPTVertexProcessor vertex_processor, RenderingContextView renderer) |
| template<typename TPTContext , typename TPTVertexProcessor > | |
| __global__ void | solve_occlusion_kernel (const uint32 in_queue_size, TPTContext context, TPTVertexProcessor vertex_processor, RenderingContextView renderer) |
| template<typename TPTContext , typename TPTVertexProcessor > | |
| void | solve_occlusion (const uint32 in_queue_size, TPTContext context, TPTVertexProcessor vertex_processor, RenderingContextView renderer) |
| template<typename TPTContext , typename TPTVertexProcessor > | |
| void | path_trace_loop (TPTContext &context, TPTVertexProcessor &vertex_processor, RenderingContext &renderer, RenderingContextView &renderer_view, PTLoopStats &stats) |
| void | print_timer_stats (const uint64 *device_timers, const PTLoopStats &stats) |
Variables | |
| __global__ TPTContext | context |
| __global__ TPTContext TPTVertexProcessor | vertex_processor |
| __global__ TPTContext TPTVertexProcessor RenderingContextView | renderer |
| __global__ __launch_bounds__ | ( | SHADE_HITS_BLOCKSIZE | , |
| SHADE_HITS_CTA_BLOCKS | |||
| ) | const |
a kernel to shade all path tracing hits
| TPTContext | A path tracing context, which must adhere to the TPTContext interface |
| TPTVertexProcessor | A vertex processor, which must adhere to the TPTVertexProcessor interface |
|
inline |
a utility function to alloc the path tracing queues
| void generate_primary_rays | ( | TPTContext | context, |
| const RenderingContextView | renderer | ||
| ) |
dispatch the kernel to generate primary rays
| TPTContext | A path tracing context |
| __global__ void generate_primary_rays_kernel | ( | TPTContext | context, |
| RenderingContextView | renderer, | ||
| cugar::Vector3f | U, | ||
| cugar::Vector3f | V, | ||
| cugar::Vector3f | W, | ||
| const float | W_len, | ||
| const float | square_pixel_focal_length | ||
| ) |
a kernel to generate primary rays
| TPTContext | A path tracing context |
| void path_trace_loop | ( | TPTContext & | context, |
| TPTVertexProcessor & | vertex_processor, | ||
| RenderingContext & | renderer, | ||
| RenderingContextView & | renderer_view, | ||
| PTLoopStats & | stats | ||
| ) |
main path tracing loop
| void shade_hits | ( | const uint32 | in_queue_size, |
| TPTContext | context, | ||
| TPTVertexProcessor | vertex_processor, | ||
| RenderingContextView | renderer | ||
| ) |
dispatch the shade hits kernel
| TPTContext | A path tracing context, which must adhere to the TPTContext interface |
| TPTVertexProcessor | A vertex processor, which must adhere to the TPTVertexProcessor interface |
| void solve_occlusion | ( | const uint32 | in_queue_size, |
| TPTContext | context, | ||
| TPTVertexProcessor | vertex_processor, | ||
| RenderingContextView | renderer | ||
| ) |
dispatch a kernel to process NEE samples using computed occlusion information
| TPTContext | A path tracing context, which must adhere to the TPTContext interface |
| TPTVertexProcessor | A vertex processor, which must adhere to the TPTVertexProcessor interface |
| __global__ void solve_occlusion_kernel | ( | const uint32 | in_queue_size, |
| TPTContext | context, | ||
| TPTVertexProcessor | vertex_processor, | ||
| RenderingContextView | renderer | ||
| ) |
a kernel to process NEE samples using computed occlusion information
| TPTContext | A path tracing context, which must adhere to the TPTContext interface |
| TPTVertexProcessor | A vertex processor, which must adhere to the TPTVertexProcessor interface |
| __global__ TPTContext TPTVertexProcessor RenderingContextView renderer |
1.8.13