Blender  V3.3
Classes | Macros | Functions
kernel/device/cpu/bvh.h File Reference
#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)
 

Functions

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)
 
ccl_device_inline bool kernel_embree_is_self_intersection (const KernelGlobals kg, const RTCHit *hit, const Ray *ray)
 
ccl_device_inline void kernel_embree_convert_hit (KernelGlobals kg, const RTCRay *ray, const RTCHit *hit, Intersection *isect)
 
ccl_device_inline void kernel_embree_convert_sss_hit (KernelGlobals kg, const RTCRay *ray, const RTCHit *hit, Intersection *isect, int object)
 
ccl_device void kernel_embree_filter_intersection_func (const RTCFilterFunctionNArguments *args)
 
ccl_device void kernel_embree_filter_occluded_func (const RTCFilterFunctionNArguments *args)
 
ccl_device void kernel_embree_filter_func_backface_cull (const RTCFilterFunctionNArguments *args)
 
ccl_device void kernel_embree_filter_occluded_func_backface_cull (const RTCFilterFunctionNArguments *args)
 
ccl_device_intersect bool kernel_embree_intersect (KernelGlobals kg, ccl_private const Ray *ray, const uint visibility, ccl_private Intersection *isect)
 

Macro Definition Documentation

◆ EMBREE_IS_HAIR

#define EMBREE_IS_HAIR (   x)    (x & 1)

Definition at line 24 of file kernel/device/cpu/bvh.h.

Function Documentation

◆ kernel_embree_convert_hit()

ccl_device_inline void kernel_embree_convert_hit ( KernelGlobals  kg,
const RTCRay *  ray,
const RTCHit *  hit,
Intersection isect 
)

◆ kernel_embree_convert_sss_hit()

ccl_device_inline void kernel_embree_convert_sss_hit ( KernelGlobals  kg,
const RTCRay *  ray,
const RTCHit *  hit,
Intersection isect,
int  object 
)

◆ kernel_embree_filter_func_backface_cull()

ccl_device void kernel_embree_filter_func_backface_cull ( const RTCFilterFunctionNArguments *  args)

◆ kernel_embree_filter_intersection_func()

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().

◆ kernel_embree_filter_occluded_func()

ccl_device void kernel_embree_filter_occluded_func ( const RTCFilterFunctionNArguments *  args)

◆ kernel_embree_filter_occluded_func_backface_cull()

ccl_device void kernel_embree_filter_occluded_func_backface_cull ( const RTCFilterFunctionNArguments *  args)

◆ kernel_embree_intersect()

ccl_device_intersect bool kernel_embree_intersect ( KernelGlobals  kg,
ccl_private const Ray ray,
const uint  visibility,
ccl_private Intersection isect 
)

◆ kernel_embree_is_self_intersection()

ccl_device_inline bool kernel_embree_is_self_intersection ( const KernelGlobals  kg,
const RTCHit *  hit,
const Ray ray 
)

◆ kernel_embree_setup_ray()

ccl_device_inline void kernel_embree_setup_ray ( const Ray ray,
RTCRay &  rtc_ray,
const uint  visibility 
)

◆ kernel_embree_setup_rayhit()

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().