|
Blender
V3.3
|
#include <embree3/rtcore_ray.h>#include <embree3/rtcore_scene.h>#include "kernel/device/cpu/compat.h"#include "kernel/device/cpu/globals.h"#include "kernel/bvh/types.h"#include "kernel/bvh/util.h"#include "kernel/geom/object.h"#include "kernel/integrator/state.h"#include "kernel/sample/lcg.h"#include "util/vector.h"Go to the source code of this file.
Classes | |
| struct | CCLIntersectContext |
| class | IntersectContext |
Macros | |
| #define | EMBREE_IS_HAIR(x) (x & 1) |
Definition at line 24 of file kernel/device/cpu/bvh.h.
| ccl_device_inline void kernel_embree_convert_hit | ( | KernelGlobals | kg, |
| const RTCRay * | ray, | ||
| const RTCHit * | hit, | ||
| Intersection * | isect | ||
| ) |
Definition at line 150 of file kernel/device/cpu/bvh.h.
References kernel_data, kernel_data_fetch, Intersection::object, Intersection::prim, Intersection::t, Intersection::type, Intersection::u, and Intersection::v.
Referenced by kernel_embree_filter_occluded_func(), and kernel_embree_intersect().
| ccl_device_inline void kernel_embree_convert_sss_hit | ( | KernelGlobals | kg, |
| const RTCRay * | ray, | ||
| const RTCHit * | hit, | ||
| Intersection * | isect, | ||
| int | object | ||
| ) |
Definition at line 184 of file kernel/device/cpu/bvh.h.
References kernel_data, kernel_data_fetch, Intersection::object, Intersection::prim, Intersection::t, Intersection::type, Intersection::u, and Intersection::v.
Referenced by kernel_embree_filter_occluded_func().
| ccl_device void kernel_embree_filter_func_backface_cull | ( | const RTCFilterFunctionNArguments * | args | ) |
Definition at line 420 of file kernel/device/cpu/bvh.h.
References blender::math::dot(), kernel_embree_is_self_intersection(), CCLIntersectContext::kg, make_float3, and CCLIntersectContext::ray.
| ccl_device void kernel_embree_filter_intersection_func | ( | const RTCFilterFunctionNArguments * | args | ) |
Definition at line 204 of file kernel/device/cpu/bvh.h.
References kernel_embree_is_self_intersection().
| ccl_device void kernel_embree_filter_occluded_func | ( | const RTCFilterFunctionNArguments * | args | ) |
Definition at line 224 of file kernel/device/cpu/bvh.h.
References CURVE_SHADOW_TRANSPARENCY_CUTOFF, EMBREE_IS_HAIR, LocalIntersection::hits, INTEGRATOR_SHADOW_ISECT_SIZE, intersection_curve_shadow_transparency(), intersection_get_shader_flags(), intersection_skip_self(), intersection_skip_self_local(), intersection_skip_self_shadow(), CCLIntersectContext::isect_s, kernel_data_fetch, kernel_embree_convert_hit(), kernel_embree_convert_sss_hit(), kernel_embree_is_self_intersection(), CCLIntersectContext::kg, CCLIntersectContext::lcg_state, lcg_step_uint(), CCLIntersectContext::local_isect, CCLIntersectContext::local_object_id, make_float3, max, CCLIntersectContext::max_hits, CCLIntersectContext::max_t, min, LocalIntersection::Ng, blender::math::normalize(), CCLIntersectContext::num_hits, LocalIntersection::num_hits, CCLIntersectContext::num_recorded_hits, Intersection::object, CCLIntersectContext::opaque_hit, Intersection::prim, PRIMITIVE_CURVE, CCLIntersectContext::ray, CCLIntersectContext::RAY_LOCAL, CCLIntersectContext::RAY_REGULAR, CCLIntersectContext::RAY_SHADOW_ALL, CCLIntersectContext::RAY_SSS, CCLIntersectContext::RAY_VOLUME_ALL, SD_HAS_TRANSPARENT_SHADOW, SD_OBJECT_HAS_VOLUME, Ray::self, Intersection::t, CCLIntersectContext::throughput, CCLIntersectContext::type, Intersection::type, and Intersection::u.
Referenced by kernel_embree_filter_occluded_func_backface_cull().
| ccl_device void kernel_embree_filter_occluded_func_backface_cull | ( | const RTCFilterFunctionNArguments * | args | ) |
Definition at line 441 of file kernel/device/cpu/bvh.h.
References blender::math::dot(), kernel_embree_filter_occluded_func(), and make_float3.
| ccl_device_intersect bool kernel_embree_intersect | ( | KernelGlobals | kg, |
| ccl_private const Ray * | ray, | ||
| const uint | visibility, | ||
| ccl_private Intersection * | isect | ||
| ) |
Definition at line 459 of file kernel/device/cpu/bvh.h.
References IntersectContext::context, kernel_data, kernel_embree_convert_hit(), kernel_embree_setup_rayhit(), CCLIntersectContext::ray, and CCLIntersectContext::RAY_REGULAR.
Referenced by scene_intersect().
| ccl_device_inline bool kernel_embree_is_self_intersection | ( | const KernelGlobals | kg, |
| const RTCHit * | hit, | ||
| const Ray * | ray | ||
| ) |
Definition at line 113 of file kernel/device/cpu/bvh.h.
References intersection_skip_self_shadow(), kernel_data, kernel_data_fetch, RaySelfPrimitives::light_object, RaySelfPrimitives::object, and Ray::self.
Referenced by kernel_embree_filter_func_backface_cull(), kernel_embree_filter_intersection_func(), and kernel_embree_filter_occluded_func().
| ccl_device_inline void kernel_embree_setup_ray | ( | const Ray & | ray, |
| RTCRay & | rtc_ray, | ||
| const uint | visibility | ||
| ) |
| ccl_device_inline void kernel_embree_setup_rayhit | ( | const Ray & | ray, |
| RTCRayHit & | rayhit, | ||
| const uint | visibility | ||
| ) |
Definition at line 104 of file kernel/device/cpu/bvh.h.
References kernel_embree_setup_ray().
Referenced by kernel_embree_intersect().