25 uint in_color_offset, fac_offset, out_color_offset;
26 uint hue_offset, sat_offset, val_offset;
41 color.
x =
fmodf(color.
x + hue + 0.5f, 1.0f);
47 color.
x = fac * color.
x + (1.0f - fac) * in_color.
x;
48 color.
y = fac * color.
y + (1.0f - fac) * in_color.
y;
49 color.
z = fac * color.
z + (1.0f - fac) * in_color.
z;
52 color.
x =
max(color.
x, 0.0f);
53 color.
y =
max(color.
y, 0.0f);
54 color.
z =
max(color.
z, 0.0f);
void rgb_to_hsv(float r, float g, float b, float *r_h, float *r_s, float *r_v)
void hsv_to_rgb(float h, float s, float v, float *r_r, float *r_g, float *r_b)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(float *stack, uint a)
ccl_device_inline float stack_load_float(float *stack, uint a)
ccl_device_forceinline void svm_unpack_node_uchar3(uint i, uint *x, uint *y, uint *z)
ccl_device_inline void stack_store_float3(float *stack, uint a, float3 f)
ccl_device_inline bool stack_valid(uint a)
#define CCL_NAMESPACE_END
CCL_NAMESPACE_BEGIN ccl_device void svm_node_hsv(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset)
ccl_device_inline float saturate(float a)