|
Blender
V2.93
|
#include "kernel/bvh/bvh_types.h"#include "kernel/bvh/bvh_nodes.h"#include "kernel/bvh/bvh_traversal.h"Go to the source code of this file.
Macros | |
| #define | BVH_FUNCTION_NAME bvh_intersect |
| #define | BVH_FUNCTION_FEATURES 0 |
Functions | |
| ccl_device_inline bool | scene_intersect_valid (const Ray *ray) |
| ccl_device_intersect bool | scene_intersect (KernelGlobals *kg, const Ray *ray, const uint visibility, Intersection *isect) |
| ccl_device_inline float3 | ray_offset (float3 P, float3 Ng) |
| #define BVH_FUNCTION_FEATURES 0 |
Definition at line 43 of file kernel/bvh/bvh.h.
| #define BVH_FUNCTION_NAME bvh_intersect |
Definition at line 42 of file kernel/bvh/bvh.h.
| ccl_device_inline float3 ray_offset | ( | float3 | P, |
| float3 | Ng | ||
| ) |
Definition at line 541 of file kernel/bvh/bvh.h.
References __float_as_uint(), __uint_as_float(), fabsf, P(), float3::x, float3::y, and float3::z.
Referenced by direct_emission(), kernel_path_ao(), kernel_path_surface_bounce(), subsurface_random_walk(), and OSLRenderServices::trace().
| ccl_device_intersect bool scene_intersect | ( | KernelGlobals * | kg, |
| const Ray * | ray, | ||
| const uint | visibility, | ||
| Intersection * | isect | ||
| ) |
Definition at line 154 of file kernel/bvh/bvh.h.
References __uint_as_float(), IntersectContext::context, Ray::D, kernel_data, kernel_embree_convert_hit(), kernel_embree_setup_rayhit(), kg, Intersection::object, Ray::P, Intersection::prim, PRIMITIVE_NONE, PROFILING_INIT, PROFILING_INTERSECT, CCLIntersectContext::RAY_REGULAR, scene_intersect_valid(), Ray::t, Intersection::t, Ray::time, Intersection::type, Intersection::u, and Intersection::v.
Referenced by CPUDevice::CPUDevice(), kernel_path_scene_intersect(), DeviceSplitKernel::load_kernels(), DeviceSplitKernel::path_trace(), shadow_blocked(), shadow_blocked_opaque(), and OSLRenderServices::trace().
| ccl_device_inline bool scene_intersect_valid | ( | const Ray * | ray | ) |
Definition at line 139 of file kernel/bvh/bvh.h.
References Ray::D, isfinite_safe(), len_squared(), Ray::P, and float3::x.
Referenced by scene_intersect().