Blender V4.3
triangle.h File Reference
#include "kernel/geom/geom.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline bool triangle_world_space_vertices (KernelGlobals kg, int object, int prim, float time, float3 V[3])
 
ccl_device_inline float triangle_light_pdf_area_sampling (const float3 Ng, const float3 I, float t)
 
ccl_device_forceinline float triangle_light_pdf (KernelGlobals kg, ccl_private const ShaderData *sd, float t)
 
template<bool in_volume_segment>
ccl_device_forceinline bool triangle_light_sample (KernelGlobals kg, int prim, int object, const float2 rand, 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 float2 *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 BoundingCone 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,
float t )

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

References 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 BoundingCone 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 float2 * t_range,
const ccl_private LightSample * ls )

◆ triangle_world_space_vertices()