139 return a * (
M_PI_F / 180.0f);
141 return a * (180.0f /
M_PI_F);
195 return ((a ==
b) || (
fabsf(a -
b) <=
fmaxf(c, FLT_EPSILON))) ? 1.0f : 0.0f;
216 return make_float3(0.8262954810464208f, 0.9945080501520986f, 1.566307710274283f);
220 return make_float3(5.413294490189271f, -0.20319390035873933f, -0.0822535242887164f);
223 const int i = (t >= 6365.0f) ? 6 :
235 const float t_inv = 1.0f / t;
237 g[0] * t_inv + g[1] * t + g[2],
238 ((
b[0] * t +
b[1]) * t +
b[2]) * t +
b[3]);
247 if (color.
x > 0.0f) {
248 color.
x =
powf(color.
x, gamma);
250 if (color.
y > 0.0f) {
251 color.
y =
powf(color.
y, gamma);
253 if (color.
z > 0.0f) {
254 color.
z =
powf(color.
z, gamma);
262 float ii = (lambda_nm - 380.0f) * (1.0f / 5.0f);
MINLINE float safe_sqrtf(float a)
MINLINE float safe_logf(float a, float base)
MINLINE float safe_acosf(float a)
MINLINE float safe_powf(float base, float exponent)
MINLINE float safe_divide(float a, float b)
MINLINE float safe_asinf(float a)
@ NODE_VECTOR_MATH_NORMALIZE
@ NODE_VECTOR_MATH_LENGTH
@ NODE_VECTOR_MATH_CROSS_PRODUCT
@ NODE_VECTOR_MATH_MODULO
@ NODE_VECTOR_MATH_COSINE
@ NODE_VECTOR_MATH_REFLECT
@ NODE_VECTOR_MATH_REFRACT
@ NODE_VECTOR_MATH_DOT_PRODUCT
@ NODE_VECTOR_MATH_ABSOLUTE
@ NODE_VECTOR_MATH_DIVIDE
@ NODE_VECTOR_MATH_TANGENT
@ NODE_VECTOR_MATH_DISTANCE
@ NODE_VECTOR_MATH_FRACTION
@ NODE_VECTOR_MATH_PROJECT
@ NODE_VECTOR_MATH_MULTIPLY
@ NODE_VECTOR_MATH_MAXIMUM
@ NODE_VECTOR_MATH_FACEFORWARD
@ NODE_VECTOR_MATH_SUBTRACT
@ NODE_VECTOR_MATH_MULTIPLY_ADD
@ NODE_VECTOR_MATH_MINIMUM
@ NODE_MATH_FLOORED_MODULO
static const float blackbody_table_r[7][3]
static float cie_color_match[81][3]
static const float blackbody_table_g[7][3]
static const float blackbody_table_b[7][4]
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
#define ccl_device_inline
#define CCL_NAMESPACE_END
VecBase< T, D > refract(VecOp< T, D >, VecOp< T, D >, float) RET
VecBase< T, D > reflect(VecOp< T, D >, VecOp< T, D >) RET
VecBase< T, D > faceforward(VecOp< T, D >, VecOp< T, D >, VecOp< T, D >) RET
VecBase< float, 3 > cross(VecOp< float, 3 >, VecOp< float, 3 >) RET
float distance(VecOp< float, D >, VecOp< float, D >) RET
ccl_device_inline float inversesqrtf(const float f)
ccl_device_inline float compatible_atan2(const float y, const float x)
ccl_device_inline int float_to_int(const float f)
ccl_device_inline float interp(const float a, const float b, const float t)
MINLINE float smoothminf(float a, float b, float c)
MINLINE float pingpongf(float value, float scale)
MINLINE float compatible_signf(float f)
MINLINE float wrapf(float value, float max, float min)
ccl_device_inline float2 safe_normalize(const float2 a)
ccl_device_inline float2 fabs(const float2 a)
ccl_device_inline float3 safe_fmod(const float3 a, const float3 b)
ccl_device_inline float3 compatible_sign(const float3 v)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3()
ccl_device_inline float3 safe_pow(const float3 a, const float3 b)
CCL_NAMESPACE_BEGIN ccl_device void svm_vector_math(ccl_private float *value, ccl_private float3 *vector, NodeVectorMathType type, const float3 a, const float3 b, const float3 c, float param1)
ccl_device float svm_math(NodeMathType type, const float a, float b, const float c)
ccl_device float3 svm_math_wavelength_color_xyz(const float lambda_nm)
ccl_device float3 svm_math_blackbody_color_rec709(const float t)
ccl_device_inline float3 svm_math_gamma_color(float3 color, const float gamma)
float safe_floored_modulo(float a, float b)
float wrap(float value, float max, float min)
vector project(vector v, vector v_proj)
float safe_modulo(float a, float b)