Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/geom/geom_curve_intersect.h
| Show First 20 Lines • Show All 619 Lines • ▼ Show 20 Lines | for (int i = 0; i < N; i++) { | ||||
| /* Store point for next step. */ | /* Store point for next step. */ | ||||
| p0 = p1; | p0 = p1; | ||||
| wn0 = wn1; | wn0 = wn1; | ||||
| } | } | ||||
| return false; | return false; | ||||
| } | } | ||||
| ccl_device_forceinline bool curve_intersect(ccl_global const KernelGlobals *kg, | ccl_device_forceinline bool curve_intersect(KernelGlobals kg, | ||||
| ccl_private Intersection *isect, | ccl_private Intersection *isect, | ||||
| const float3 P, | const float3 P, | ||||
| const float3 dir, | const float3 dir, | ||||
| const float tmax, | const float tmax, | ||||
| int object, | int object, | ||||
| int prim, | int prim, | ||||
| float time, | float time, | ||||
| int type) | int type) | ||||
| Show All 37 Lines | if (curve_intersect_recursive(P, dir, tmax, curve, isect)) { | ||||
| isect->type = type; | isect->type = type; | ||||
| return true; | return true; | ||||
| } | } | ||||
| return false; | return false; | ||||
| } | } | ||||
| } | } | ||||
| ccl_device_inline void curve_shader_setup(ccl_global const KernelGlobals *kg, | ccl_device_inline void curve_shader_setup(KernelGlobals kg, | ||||
| ccl_private ShaderData *sd, | ccl_private ShaderData *sd, | ||||
| float3 P, | float3 P, | ||||
| float3 D, | float3 D, | ||||
| float t, | float t, | ||||
| const int isect_object, | const int isect_object, | ||||
| const int isect_prim) | const int isect_prim) | ||||
| { | { | ||||
| if (!(sd->object_flag & SD_OBJECT_TRANSFORM_APPLIED)) { | if (!(sd->object_flag & SD_OBJECT_TRANSFORM_APPLIED)) { | ||||
| ▲ Show 20 Lines • Show All 81 Lines • Show Last 20 Lines | |||||