65#define IES_LOOKUP_ANGLE_H(h) kernel_data_fetch(ies, ofs + (h))
66#define IES_LOOKUP_ANGLE_V(v) kernel_data_fetch(ies, ofs + h_num + (v))
73 if (v_angle < v_low || v_angle >= v_high) {
76 if (h_angle < h_low || h_angle >= h_high) {
83 const bool wrap_h = (h_low < 1e-7f && h_high >
M_2PI_F - 1e-7f);
84 const bool wrap_vlow = (v_low < 1e-7f);
85 const bool wrap_vhigh = (v_high >
M_PI_F - 1e-7f);
102#undef IES_LOOKUP_ANGLE_H
103#undef IES_LOOKUP_ANGLE_V
106 ofs += h_num + v_num;
117 kg, ofs, wrap_vlow, wrap_vhigh, v_i, v_num, v_frac, h_i);
119 kg, ofs, wrap_vlow, wrap_vhigh, v_i, v_num, v_frac, h_i + 1);
121 if (h_i + 2 < h_num) {
CCL_NAMESPACE_BEGIN ccl_device_inline float interpolate_ies_vertical(KernelGlobals kg, const int ofs, const bool wrap_vlow, const bool wrap_vhigh, const int v, const int v_num, const float v_frac, const int h)