Blender V5.0
triangle.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline bool triangle_world_space_vertices (KernelGlobals kg, const int object, const int prim, const float time, float3 V[3])
ccl_device_inline float triangle_light_pdf_area_sampling (const float3 Ng, const float3 I, const float t)
ccl_device_forceinline float triangle_light_pdf (KernelGlobals kg, const ccl_private ShaderData *sd, const float t)
template<bool in_volume_segment>
ccl_device_forceinline bool triangle_light_sample (KernelGlobals kg, const int prim, const int object, const float2 rand, const float time, ccl_private LightSample *ls, const float3 P)
ccl_device_inline bool triangle_light_valid_ray_segment (KernelGlobals kg, const float3 P, const float3 D, ccl_private Interval< float > *t_range, const ccl_private LightSample *ls)
template<bool in_volume_segment>
ccl_device_forceinline bool triangle_light_tree_parameters (KernelGlobals kg, const ccl_global KernelLightTreeEmitter *kemitter, const float3 centroid, const float3 P, const float3 N, const KernelBoundingCone bcone, ccl_private float &cos_theta_u, ccl_private float2 &distance, ccl_private float3 &point_to_centroid)

Function Documentation

◆ triangle_light_pdf()

◆ triangle_light_pdf_area_sampling()

ccl_device_inline float triangle_light_pdf_area_sampling ( const float3 Ng,
const float3 I,
const float t )

Definition at line 50 of file light/triangle.h.

References ccl_device_inline, dot(), fabsf, and I.

Referenced by triangle_light_pdf(), and triangle_light_sample().

◆ triangle_light_sample()

◆ triangle_light_tree_parameters()

template<bool in_volume_segment>
ccl_device_forceinline bool triangle_light_tree_parameters ( KernelGlobals kg,
const ccl_global KernelLightTreeEmitter * kemitter,
const float3 centroid,
const float3 P,
const float3 N,
const KernelBoundingCone bcone,
ccl_private float & cos_theta_u,
ccl_private float2 & distance,
ccl_private float3 & point_to_centroid )

◆ triangle_light_valid_ray_segment()

ccl_device_inline bool triangle_light_valid_ray_segment ( KernelGlobals kg,
const float3 P,
const float3 D,
ccl_private Interval< float > * t_range,
const ccl_private LightSample * ls )

◆ triangle_world_space_vertices()