Blender  V2.59
Functions
math_color.c File Reference
#include <assert.h>
#include "BLI_math.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, float *out)
void rgb_float_to_byte (const float *in, unsigned char *out)
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 srgb_to_linearrgb_v3_v3 (float *col_to, float *col_from)
void linearrgb_to_srgb_v3_v3 (float *col_to, float *col_from)
void srgb_to_linearrgb_rgba_buf (float *col, int tot)
void linearrgb_to_srgb_rgba_buf (float *col, int tot)
void srgb_to_linearrgb_rgba_rgba_buf (float *col_to, float *col_from, int tot)
void linearrgb_to_srgb_rgba_rgba_buf (float *col_to, float *col_from, int tot)
void minmax_rgb (short c[])
int constrain_rgb (float *r, float *g, float *b)
float rgb_to_grayscale (float rgb[3])
unsigned char rgb_to_grayscale_byte (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)

Detailed Description

Definition in file math_color.c.


Function Documentation

int constrain_rgb ( float *  r,
float *  g,
float *  b 
)

Definition at line 465 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 325 of file math_color.c.

void gamma_correct ( float *  c,
float  gamma 
)

Definition at line 361 of file math_color.c.

References powf.

void hex_to_rgb ( char *  hexcol,
float *  r,
float *  g,
float *  b 
)

Definition at line 183 of file math_color.c.

References CLAMP().

Referenced by do_hex_rna_cb().

unsigned int hsv_to_cpack ( float  h,
float  s,
float  v 
)

Definition at line 294 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 
)
void lift_gamma_gain_to_asc_cdl ( float *  lift,
float *  gamma,
float *  gain,
float *  offset,
float *  slope,
float *  power 
)

Definition at line 498 of file math_color.c.

References FLT_MAX.

float linearrgb_to_rec709 ( float  c)

Definition at line 374 of file math_color.c.

References powf.

float linearrgb_to_srgb ( float  c)
void linearrgb_to_srgb_rgba_buf ( float *  col,
int  tot 
)

Definition at line 421 of file math_color.c.

References linearrgb_to_srgb_v3_v3().

void linearrgb_to_srgb_rgba_rgba_buf ( float *  col_to,
float *  col_from,
int  tot 
)
void linearrgb_to_srgb_v3_v3 ( float *  col_to,
float *  col_from 
)
void minmax_rgb ( short  c[])

Definition at line 449 of file math_color.c.

float rec709_to_linearrgb ( float  c)

Definition at line 366 of file math_color.c.

References powf.

void rgb_byte_set_hue_float_offset ( unsigned char  rgb[3],
float  hue_offset 
)
void rgb_byte_to_float ( const unsigned char *  in,
float *  out 
)
void rgb_float_set_hue_float_offset ( float  rgb[3],
float  hue_offset 
)

Definition at line 514 of file math_color.c.

References hsv_to_rgb(), and rgb_to_hsv().

void rgb_float_to_byte ( const float *  in,
unsigned char *  out 
)
unsigned int rgb_to_cpack ( float  r,
float  g,
float  b 
)

Definition at line 311 of file math_color.c.

float rgb_to_grayscale ( float  rgb[3])

Definition at line 486 of file math_color.c.

Referenced by IMB_color_to_bw(), and shade_lamp_loop_only_shadow().

unsigned char rgb_to_grayscale_byte ( unsigned char  rgb[3])

Definition at line 491 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 
)
void rgb_to_hsv_compat ( float  r,
float  g,
float  b,
float *  lh,
float *  ls,
float *  lv 
)
void rgb_to_ycc ( float  r,
float  g,
float  b,
float *  ly,
float *  lcb,
float *  lcr,
int  colorspace 
)
void rgb_to_yuv ( float  r,
float  g,
float  b,
float *  ly,
float *  lu,
float *  lv 
)
float srgb_to_linearrgb ( float  c)
void srgb_to_linearrgb_rgba_buf ( float *  col,
int  tot 
)

Definition at line 413 of file math_color.c.

References srgb_to_linearrgb_v3_v3().

void srgb_to_linearrgb_rgba_rgba_buf ( float *  col_to,
float *  col_from,
int  tot 
)
void srgb_to_linearrgb_v3_v3 ( float *  col_to,
float *  col_from 
)
void xyz_to_rgb ( float  xc,
float  yc,
float  zc,
float *  r,
float *  g,
float *  b,
int  colorspace 
)

Definition at line 269 of file math_color.c.

References BLI_XYZ_CIE, BLI_XYZ_REC709_SRGB, and BLI_XYZ_SMPTE.

Referenced by shadeSunView().

void ycc_to_rgb ( float  y,
float  cb,
float  cr,
float *  lr,
float *  lg,
float *  lb,
int  colorspace 
)
void yuv_to_rgb ( float  y,
float  u,
float  v,
float *  lr,
float *  lg,
float *  lb 
)

Definition at line 103 of file math_color.c.

References g.

Referenced by do_comb_yuva(), and do_yuva_to_rgba().