|
Blender V5.0
|
#include "kernel/globals.h"#include "kernel/geom/geom_intersect.h"#include "kernel/geom/object.h"#include "kernel/geom/triangle.h"#include "util/math_float3.h"#include "util/math_intersect.h"Go to the source code of this file.
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device_inline bool | triangle_intersect (KernelGlobals kg, ccl_private Intersection *isect, const float3 P, const float3 dir, const float tmin, const float tmax, const uint visibility, const int object, const int prim, const 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) |
| CCL_NAMESPACE_BEGIN ccl_device_inline bool triangle_intersect | ( | KernelGlobals | kg, |
| ccl_private Intersection * | isect, | ||
| const float3 | P, | ||
| const float3 | dir, | ||
| const float | tmin, | ||
| const float | tmax, | ||
| const uint | visibility, | ||
| const int | object, | ||
| const int | prim, | ||
| const int | prim_addr ) |
Definition at line 24 of file triangle_intersect.h.
References ccl_device_inline, ccl_private, kernel_data_fetch, P, PRIMITIVE_TRIANGLE, ray_triangle_intersect(), v, uint3::x, uint3::y, and uint3::z.
| 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 122 of file triangle_intersect.h.
References ccl_device_inline, ccl_private, 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().
| ccl_device_inline void triangle_shader_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd ) |
Definition at line 144 of file triangle_intersect.h.
References ccl_device_inline, ccl_private, kernel_data_fetch, SHADER_SMOOTH_NORMAL, triangle_dPdudv(), triangle_normal(), triangle_point_from_uv(), and triangle_smooth_normal().
Referenced by shader_setup_from_ray().