72#define IES_LOOKUP_ANGLE_H(h) kernel_data_fetch(ies, ofs + (h))
73#define IES_LOOKUP_ANGLE_V(v) kernel_data_fetch(ies, ofs + h_num + (v))
80 if (v_angle < v_low || v_angle >= v_high) {
83 if (h_angle < h_low || h_angle >= h_high) {
90 const bool wrap_h = (h_low < 1e-7f && h_high >
M_2PI_F - 1e-7f);
91 const bool wrap_vlow = (v_low < 1e-7f);
92 const bool wrap_vhigh = (v_high >
M_PI_F - 1e-7f);
109#undef IES_LOOKUP_ANGLE_H
110#undef IES_LOOKUP_ANGLE_V
113 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);
133 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)