Blender V2.61 - r43446
|
#include <assert.h>
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
Go to the source code of this file.
Functions | |
void | hsv_to_rgb (float h, float s, float v, float *r, float *g, float *b) |
void | rgb_to_yuv (float r, float g, float b, float *ly, float *lu, float *lv) |
void | yuv_to_rgb (float y, float u, float v, float *lr, float *lg, float *lb) |
void | rgb_to_ycc (float r, float g, float b, float *ly, float *lcb, float *lcr, int colorspace) |
void | ycc_to_rgb (float y, float cb, float cr, float *lr, float *lg, float *lb, int colorspace) |
void | hex_to_rgb (char *hexcol, float *r, float *g, float *b) |
void | rgb_to_hsv (float r, float g, float b, float *lh, float *ls, float *lv) |
void | rgb_to_hsv_compat (float r, float g, float b, float *lh, float *ls, float *lv) |
void | xyz_to_rgb (float xc, float yc, float zc, float *r, float *g, float *b, int colorspace) |
unsigned int | hsv_to_cpack (float h, float s, float v) |
unsigned int | rgb_to_cpack (float r, float g, float b) |
void | cpack_to_rgb (unsigned int col, float *r, float *g, float *b) |
void | rgb_byte_to_float (const unsigned char in[3], float out[3]) |
void | rgb_float_to_byte (const float in[3], unsigned char out[3]) |
void | gamma_correct (float *c, float gamma) |
float | rec709_to_linearrgb (float c) |
float | linearrgb_to_rec709 (float c) |
float | srgb_to_linearrgb (float c) |
float | linearrgb_to_srgb (float c) |
void | minmax_rgb (short c[]) |
int | constrain_rgb (float *r, float *g, float *b) |
float | rgb_to_grayscale (const float rgb[3]) |
unsigned char | rgb_to_grayscale_byte (const unsigned char rgb[3]) |
float | rgb_to_luma (const float rgb[3]) |
unsigned char | rgb_to_luma_byte (const unsigned char rgb[3]) |
void | lift_gamma_gain_to_asc_cdl (float *lift, float *gamma, float *gain, float *offset, float *slope, float *power) |
void | rgb_float_set_hue_float_offset (float rgb[3], float hue_offset) |
void | rgb_byte_set_hue_float_offset (unsigned char rgb[3], float hue_offset) |
static unsigned short | hipart (const float f) |
static float | index_to_float (const unsigned short i) |
void | BLI_init_srgb_conversion (void) |
Variables | |
float | BLI_color_from_srgb_table [256] |
unsigned short | BLI_color_to_srgb_table [0x10000] |
Definition in file math_color.c.
void BLI_init_srgb_conversion | ( | void | ) |
Definition at line 547 of file math_color.c.
References BLI_color_from_srgb_table, BLI_color_to_srgb_table, hipart(), i, index_to_float(), linearrgb_to_srgb(), and srgb_to_linearrgb().
Referenced by IMB_buffer_byte_from_float(), and IMB_buffer_float_from_byte().
int constrain_rgb | ( | float * | r, |
float * | g, | ||
float * | b | ||
) |
Definition at line 416 of file math_color.c.
References g, and simple_enum_gen::w.
void cpack_to_rgb | ( | unsigned int | col, |
float * | r, | ||
float * | g, | ||
float * | b | ||
) |
Definition at line 327 of file math_color.c.
void gamma_correct | ( | float * | c, |
float | gamma | ||
) |
Definition at line 363 of file math_color.c.
References powf.
void hex_to_rgb | ( | char * | hexcol, |
float * | r, | ||
float * | g, | ||
float * | b | ||
) |
static unsigned short hipart | ( | const float | f | ) | [static] |
Definition at line 507 of file math_color.c.
Referenced by BLI_init_srgb_conversion().
unsigned int hsv_to_cpack | ( | float | h, |
float | s, | ||
float | v | ||
) |
Definition at line 296 of file math_color.c.
References g, and hsv_to_rgb().
void hsv_to_rgb | ( | float | h, |
float | s, | ||
float | v, | ||
float * | r, | ||
float * | g, | ||
float * | b | ||
) |
Definition at line 39 of file math_color.c.
Referenced by BKE_image_buf_fill_checker(), checker_board_color_fill(), Color_channel_hsv_set(), Color_hsv_set(), do_comb_hsva(), do_hsv_rna_cb(), do_hsva_to_rgba(), do_hue_sat_fac(), do_huecorrect(), do_huecorrect_fac(), getcolor_fcurve_rainbow(), hsv_to_cpack(), input_preprocess(), ramp_blend(), rgb_float_set_hue_float_offset(), svm_mix_color(), svm_mix_hue(), svm_mix_sat(), svm_mix_val(), svm_node_hsv(), transformc(), ui_do_but_BLOCK(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), ui_draw_but_HSVCIRCLE(), ui_draw_gradient(), ui_ndofedit_but_HSVCIRCLE(), ui_ndofedit_but_HSVCUBE(), ui_numedit_but_HSVCIRCLE(), ui_numedit_but_HSVCUBE(), ui_picker_small_wheel_cb(), ui_set_but_hsv(), and ui_set_but_val().
static float index_to_float | ( | const unsigned short | i | ) | [static] |
Definition at line 523 of file math_color.c.
Referenced by BLI_init_srgb_conversion().
void lift_gamma_gain_to_asc_cdl | ( | float * | lift, |
float * | gamma, | ||
float * | gain, | ||
float * | offset, | ||
float * | slope, | ||
float * | power | ||
) |
Definition at line 459 of file math_color.c.
References FLT_MAX.
float linearrgb_to_rec709 | ( | float | c | ) |
Definition at line 376 of file math_color.c.
References powf.
float linearrgb_to_srgb | ( | float | c | ) |
Definition at line 392 of file math_color.c.
References powf.
Referenced by bake_shade(), BLI_init_srgb_conversion(), colorbalance_lgg(), imb_cocoaSaveImage(), linearrgb_to_srgb_predivide_v4(), linearrgb_to_srgb_ushort4_predivide(), linearrgb_to_srgb_v3_v3(), nodeAddToPreview(), srgb_to_linearrgb_uchar4_predivide(), ui_draw_but_HSV_v(), and ui_draw_but_HSVCIRCLE().
void minmax_rgb | ( | short | c[] | ) |
Definition at line 400 of file math_color.c.
float rec709_to_linearrgb | ( | float | c | ) |
Definition at line 368 of file math_color.c.
References powf.
void rgb_byte_set_hue_float_offset | ( | unsigned char | rgb[3], |
float | hue_offset | ||
) |
Definition at line 489 of file math_color.c.
References rgb_byte_to_float(), rgb_float_set_hue_float_offset(), and rgb_float_to_byte().
void rgb_byte_to_float | ( | const unsigned char | in[3], |
float | out[3] | ||
) |
Definition at line 340 of file math_color.c.
Referenced by acf_generic_channel_color(), input_preprocess(), and rgb_byte_set_hue_float_offset().
void rgb_float_set_hue_float_offset | ( | float | rgb[3], |
float | hue_offset | ||
) |
Definition at line 475 of file math_color.c.
References hsv_to_rgb(), and rgb_to_hsv().
void rgb_float_to_byte | ( | const float | in[3], |
unsigned char | out[3] | ||
) |
Definition at line 347 of file math_color.c.
References g.
Referenced by draw_new_particle_system(), draw_object(), draw_pose_bones(), drawRBpivot(), get_seq_color3ubv(), input_preprocess(), and rgb_byte_set_hue_float_offset().
unsigned int rgb_to_cpack | ( | float | r, |
float | g, | ||
float | b | ||
) |
Definition at line 313 of file math_color.c.
float rgb_to_grayscale | ( | const float | rgb[3] | ) |
Definition at line 437 of file math_color.c.
Referenced by IMB_color_to_bw(), ramp_diffuse_result(), ramp_spec_result(), and shade_lamp_loop_only_shadow().
unsigned char rgb_to_grayscale_byte | ( | const unsigned char | rgb[3] | ) |
Definition at line 442 of file math_color.c.
Referenced by IMB_color_to_bw().
void rgb_to_hsv | ( | float | r, |
float | g, | ||
float | b, | ||
float * | lh, | ||
float * | ls, | ||
float * | lv | ||
) |
Definition at line 205 of file math_color.c.
References g.
Referenced by Color_channel_hsv_get(), Color_channel_hsv_set(), Color_hsv_get(), do_hue_sat_fac(), do_huecorrect(), do_huecorrect_fac(), do_rgba_to_hsva(), do_sephsva(), ED_image_draw_info(), input_preprocess(), node_composit_exec_sephsva(), ramp_blend(), rgb_float_set_hue_float_offset(), rgb_to_hsv_compat(), svm_mix_color(), svm_mix_hue(), svm_mix_sat(), svm_mix_val(), svm_node_hsv(), transformc(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), ui_draw_but_HSV_v(), ui_get_but_val(), ui_set_but_val(), uiBlockPicker(), and weightvg_do_mask().
void rgb_to_hsv_compat | ( | float | r, |
float | g, | ||
float | b, | ||
float * | lh, | ||
float * | ls, | ||
float * | lv | ||
) |
Definition at line 249 of file math_color.c.
References rgb_to_hsv().
Referenced by ui_do_but_BLOCK(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_ndofedit_but_HSVCIRCLE(), ui_ndofedit_but_HSVCUBE(), ui_numedit_but_HSVCIRCLE(), ui_numedit_but_HSVCUBE(), ui_picker_small_wheel_cb(), and ui_update_block_buts_rgb().
float rgb_to_luma | ( | const float | rgb[3] | ) |
Definition at line 447 of file math_color.c.
Referenced by image_sample_line_exec(), make_waveform_view_from_ibuf_float(), and scopes_update().
unsigned char rgb_to_luma_byte | ( | const unsigned char | rgb[3] | ) |
Definition at line 452 of file math_color.c.
Referenced by image_sample_line_exec(), and make_waveform_view_from_ibuf_byte().
void rgb_to_ycc | ( | float | r, |
float | g, | ||
float | b, | ||
float * | ly, | ||
float * | lcb, | ||
float * | lcr, | ||
int | colorspace | ||
) |
Definition at line 119 of file math_color.c.
References assert, BLI_YCC_ITU_BT601, BLI_YCC_ITU_BT709, BLI_YCC_JFIF_0_255, and g.
Referenced by do_normalized_rgba_to_ycca2(), do_rgba_to_ycca(), do_rgba_to_ycca_normalized(), do_sepycca_601(), do_sepycca_709(), do_sepycca_jfif(), node_composit_exec_sepycca(), and scopes_update().
void rgb_to_yuv | ( | float | r, |
float | g, | ||
float | b, | ||
float * | ly, | ||
float * | lu, | ||
float * | lv | ||
) |
Definition at line 93 of file math_color.c.
Referenced by brightness_mean(), brightness_standard_deviation(), do_rgba_to_yuva(), do_sepyuva(), ED_image_draw_info(), fill_bins(), node_composit_exec_sepyuva(), save_sample_line(), and vectorscope_draw_target().
float srgb_to_linearrgb | ( | float | c | ) |
Definition at line 384 of file math_color.c.
References powf.
Referenced by BLI_init_srgb_conversion(), colorbalance_lgg(), imb_save_openexr_half(), srgb_to_linearrgb_predivide_v4(), srgb_to_linearrgb_v3_v3(), ui_ndofedit_but_HSVCUBE(), and ui_numedit_but_HSVCUBE().
void xyz_to_rgb | ( | float | xc, |
float | yc, | ||
float | zc, | ||
float * | r, | ||
float * | g, | ||
float * | b, | ||
int | colorspace | ||
) |
Definition at line 271 of file math_color.c.
References BLI_XYZ_CIE, BLI_XYZ_REC709_SRGB, and BLI_XYZ_SMPTE.
Referenced by shadeSunView(), and sky_radiance().
void ycc_to_rgb | ( | float | y, |
float | cb, | ||
float | cr, | ||
float * | lr, | ||
float * | lg, | ||
float * | lb, | ||
int | colorspace | ||
) |
Definition at line 157 of file math_color.c.
References assert, BLI_YCC_ITU_BT601, BLI_YCC_ITU_BT709, BLI_YCC_JFIF_0_255, and g.
Referenced by do_comb_ycca_601(), do_comb_ycca_709(), do_comb_ycca_jfif(), do_normalized_ycca_to_rgba2(), do_ycca_to_rgba(), do_ycca_to_rgba_normalized(), and node_composit_exec_combycca().
void yuv_to_rgb | ( | float | y, |
float | u, | ||
float | v, | ||
float * | lr, | ||
float * | lg, | ||
float * | lb | ||
) |
Definition at line 105 of file math_color.c.
References g.
Referenced by do_comb_yuva(), and do_yuva_to_rgba().
float BLI_color_from_srgb_table[256] |
Definition at line 504 of file math_color.c.
Referenced by BLI_init_srgb_conversion(), and srgb_to_linearrgb_uchar4().
unsigned short BLI_color_to_srgb_table[0x10000] |
Definition at line 505 of file math_color.c.
Referenced by BLI_init_srgb_conversion(), and to_srgb_table_lookup().