Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/geom/geom_bvh.h
| Context not available. | |||||
| #endif | #endif | ||||
| #ifdef __VOLUME__ | #ifdef __VOLUME__ | ||||
| ccl_device_intersect bool scene_intersect_volume(KernelGlobals *kg, | ccl_device_intersect uint scene_intersect_volume_all(KernelGlobals *kg, | ||||
| const Ray *ray, | const Ray *ray, | ||||
| Intersection *isect) | Intersection *isect, | ||||
| const uint max_hits) | |||||
| { | { | ||||
| #ifdef __OBJECT_MOTION__ | #ifdef __OBJECT_MOTION__ | ||||
| if(kernel_data.bvh.have_motion) { | if(kernel_data.bvh.have_motion) { | ||||
| #ifdef __HAIR__ | #ifdef __HAIR__ | ||||
| if(kernel_data.bvh.have_curves) | if(kernel_data.bvh.have_curves) | ||||
| return bvh_intersect_volume_hair_motion(kg, ray, isect); | return bvh_intersect_volume_hair_motion(kg, ray, isect, max_hits); | ||||
| #endif /* __HAIR__ */ | #endif /* __HAIR__ */ | ||||
| return bvh_intersect_volume_motion(kg, ray, isect); | return bvh_intersect_volume_motion(kg, ray, isect, max_hits); | ||||
| } | } | ||||
| #endif /* __OBJECT_MOTION__ */ | #endif /* __OBJECT_MOTION__ */ | ||||
| #ifdef __HAIR__ | #ifdef __HAIR__ | ||||
| if(kernel_data.bvh.have_curves) | if(kernel_data.bvh.have_curves) | ||||
| return bvh_intersect_volume_hair(kg, ray, isect); | return bvh_intersect_volume_hair(kg, ray, isect, max_hits); | ||||
| #endif /* __HAIR__ */ | #endif /* __HAIR__ */ | ||||
| #ifdef __KERNEL_CPU__ | #ifdef __KERNEL_CPU__ | ||||
| #ifdef __INSTANCING__ | #ifdef __INSTANCING__ | ||||
| if(kernel_data.bvh.have_instancing) | if(kernel_data.bvh.have_instancing) | ||||
| return bvh_intersect_volume_instancing(kg, ray, isect); | return bvh_intersect_volume_instancing(kg, ray, isect, max_hits); | ||||
| #endif /* __INSTANCING__ */ | #endif /* __INSTANCING__ */ | ||||
| return bvh_intersect_volume(kg, ray, isect); | return bvh_intersect_volume(kg, ray, isect, max_hits); | ||||
| #else /* __KERNEL_CPU__ */ | #else /* __KERNEL_CPU__ */ | ||||
| #ifdef __INSTANCING__ | #ifdef __INSTANCING__ | ||||
| return bvh_intersect_volume_instancing(kg, ray, isect); | return bvh_intersect_volume_instancing(kg, ray, isect, max_hits); | ||||
| #else | #else | ||||
| return bvh_intersect_volume(kg, ray, isect); | return bvh_intersect_volume(kg, ray, isect, max_hits); | ||||
| #endif /* __INSTANCING__ */ | #endif /* __INSTANCING__ */ | ||||
| #endif /* __KERNEL_CPU__ */ | #endif /* __KERNEL_CPU__ */ | ||||
| Context not available. | |||||