Blender V4.3
triangle_intersect.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline bool triangle_intersect (KernelGlobals kg, ccl_private Intersection *isect, float3 P, float3 dir, float tmin, float tmax, uint visibility, int object, int prim, int prim_addr)
 
ccl_device_inline float3 triangle_point_from_uv (KernelGlobals kg, ccl_private ShaderData *sd, const int isect_prim, const float u, const float v)
 
ccl_device_inline void triangle_shader_setup (KernelGlobals kg, ccl_private ShaderData *sd)
 

Function Documentation

◆ triangle_intersect()

CCL_NAMESPACE_BEGIN ccl_device_inline bool triangle_intersect ( KernelGlobals kg,
ccl_private Intersection * isect,
float3 P,
float3 dir,
float tmin,
float tmax,
uint visibility,
int object,
int prim,
int prim_addr )

Definition at line 17 of file triangle_intersect.h.

References kernel_data_fetch, P, PRIMITIVE_TRIANGLE, ray_triangle_intersect(), v, uint3::x, uint3::y, and uint3::z.

Referenced by BVH(), BVH(), and BVH().

◆ triangle_point_from_uv()

ccl_device_inline float3 triangle_point_from_uv ( KernelGlobals kg,
ccl_private ShaderData * sd,
const int isect_prim,
const float u,
const float v )

Use the barycentric coordinates to get the intersection location

Definition at line 140 of file triangle_intersect.h.

References kernel_data_fetch, object_get_transform(), P, SD_OBJECT_TRANSFORM_APPLIED, transform_point(), v, uint3::x, uint3::y, and uint3::z.

Referenced by triangle_shader_setup().

◆ triangle_shader_setup()