Blender V5.0
color.h File Reference
#include "util/math.h"
#include "util/types.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device uchar float_to_byte (const float val)
ccl_device float byte_to_float (const uchar val)
ccl_device uchar4 color_float_to_byte (const float3 c)
ccl_device uchar4 color_float4_to_uchar4 (const float4 c)
ccl_device_inline float3 color_byte_to_float (const uchar4 c)
ccl_device_inline float4 color_uchar4_to_float4 (const uchar4 c)
ccl_device float color_srgb_to_linear (const float c)
ccl_device float color_linear_to_srgb (const float c)
ccl_device float3 rgb_to_hsv (const float3 rgb)
ccl_device float3 hsv_to_rgb (const float3 hsv)
ccl_device float3 rgb_to_hsl (const float3 rgb)
ccl_device float3 hsl_to_rgb (const float3 hsl)
ccl_device float3 xyY_to_xyz (const float x, const float y, float Y)
ccl_device float3 color_srgb_to_linear_v3 (const float3 c)
ccl_device float3 color_linear_to_srgb_v3 (const float3 c)
ccl_device float4 color_linear_to_srgb_v4 (const float4 c)
ccl_device float4 color_srgb_to_linear_v4 (const float4 c)
ccl_device float3 color_highlight_compress (float3 color, ccl_private float3 *variance)
ccl_device float3 color_highlight_uncompress (const float3 color)
ccl_device_inline Spectrum safe_invert_color (Spectrum a)
ccl_device_inline Spectrum safe_divide_color (Spectrum a, Spectrum b, const float fallback=0.0f)
ccl_device_inline float3 safe_divide_even_color (const float3 a, const float3 b)

Function Documentation

◆ byte_to_float()

ccl_device float byte_to_float ( const uchar val)

Definition at line 19 of file color.h.

References ccl_device.

Referenced by AttributeConverter< blender::ColorGeometry4b >::convert().

◆ color_byte_to_float()

ccl_device_inline float3 color_byte_to_float ( const uchar4 c)

Definition at line 52 of file color.h.

References ccl_device_inline, make_float3(), uchar4::x, uchar4::y, and uchar4::z.

◆ color_float4_to_uchar4()

ccl_device uchar4 color_float4_to_uchar4 ( const float4 c)

Definition at line 37 of file color.h.

References b, ccl_device, float_to_byte(), make_uchar4(), float4::w, float4::x, float4::y, and float4::z.

Referenced by SubdByte::output().

◆ color_float_to_byte()

ccl_device uchar4 color_float_to_byte ( const float3 c)

Definition at line 24 of file color.h.

References b, ccl_device, float_to_byte(), make_uchar4(), float3::x, float3::y, and float3::z.

◆ color_highlight_compress()

ccl_device float3 color_highlight_compress ( float3 color,
ccl_private float3 * variance )

Definition at line 360 of file color.h.

References ccl_device, ccl_private, log, one_float3(), and sqr.

◆ color_highlight_uncompress()

ccl_device float3 color_highlight_uncompress ( const float3 color)

Definition at line 369 of file color.h.

References ccl_device, exp, and one_float3().

◆ color_linear_to_srgb()

ccl_device float color_linear_to_srgb ( const float c)

Definition at line 71 of file color.h.

References ccl_device, and powf.

Referenced by color_linear_to_srgb_v3(), and color_linear_to_srgb_v4().

◆ color_linear_to_srgb_v3()

ccl_device float3 color_linear_to_srgb_v3 ( const float3 c)

Definition at line 335 of file color.h.

References ccl_device, color_linear_to_srgb(), make_float3(), float3::x, float3::y, and float3::z.

◆ color_linear_to_srgb_v4()

ccl_device float4 color_linear_to_srgb_v4 ( const float4 c)

Definition at line 341 of file color.h.

References ccl_device, color_linear_to_srgb(), make_float4, float4::w, float4::x, float4::y, and float4::z.

◆ color_srgb_to_linear()

ccl_device float color_srgb_to_linear ( const float c)

Definition at line 63 of file color.h.

References ccl_device, and powf.

Referenced by color_srgb_to_linear_v3(), and color_srgb_to_linear_v4().

◆ color_srgb_to_linear_v3()

ccl_device float3 color_srgb_to_linear_v3 ( const float3 c)

Definition at line 329 of file color.h.

References ccl_device, color_srgb_to_linear(), make_float3(), float3::x, float3::y, and float3::z.

◆ color_srgb_to_linear_v4()

◆ color_uchar4_to_float4()

ccl_device_inline float4 color_uchar4_to_float4 ( const uchar4 c)

◆ float_to_byte()

CCL_NAMESPACE_BEGIN ccl_device uchar float_to_byte ( const float val)

Definition at line 12 of file color.h.

References ccl_device.

Referenced by color_float4_to_uchar4(), and color_float_to_byte().

◆ hsl_to_rgb()

ccl_device float3 hsl_to_rgb ( const float3 hsl)

Definition at line 218 of file color.h.

References ccl_device, clamp(), fabsf, l, make_float3(), float3::x, float3::y, and float3::z.

◆ hsv_to_rgb()

ccl_device float3 hsv_to_rgb ( const float3 hsv)

Definition at line 130 of file color.h.

References ccl_device, floorf, i, make_float3(), v, float3::x, float3::y, and float3::z.

◆ rgb_to_hsl()

ccl_device float3 rgb_to_hsl ( const float3 rgb)

Definition at line 185 of file color.h.

References ccl_device, fmaxf, l, make_float3(), min, float3::x, float3::y, and float3::z.

◆ rgb_to_hsv()

ccl_device float3 rgb_to_hsv ( const float3 rgb)

Definition at line 79 of file color.h.

References ccl_device, fmaxf, make_float3(), min, v, float3::x, float3::y, and float3::z.

◆ safe_divide_color()

ccl_device_inline Spectrum safe_divide_color ( Spectrum a,
Spectrum b,
const float fallback = 0.0f )

◆ safe_divide_even_color()

ccl_device_inline float3 safe_divide_even_color ( const float3 a,
const float3 b )

Definition at line 399 of file color.h.

References b, ccl_device_inline, make_float3(), float3::x, x, float3::y, y, float3::z, and z().

Referenced by film_get_pass_pixel_light_path().

◆ safe_invert_color()

ccl_device_inline Spectrum safe_invert_color ( Spectrum a)

Definition at line 376 of file color.h.

References ccl_device_inline, FOREACH_SPECTRUM_CHANNEL, GET_SPECTRUM_CHANNEL, and i.

◆ xyY_to_xyz()

ccl_device float3 xyY_to_xyz ( const float x,
const float y,
float Y )

Definition at line 245 of file color.h.

References ccl_device, make_float3(), X, x, Y, y, and Z.