Blender  V2.93
Macros | Functions
paint_vertex_color_utils.c File Reference
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BLI_math_base.h"
#include "BLI_math_color.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "BKE_context.h"
#include "BKE_mesh.h"
#include "DEG_depsgraph.h"
#include "ED_mesh.h"
#include "paint_intern.h"

Go to the source code of this file.

Macros

#define EPS_SATURATION   0.0005f
 

Functions

bool ED_vpaint_color_transform (struct Object *ob, VPaintTransform_Callback vpaint_tx_fn, const void *user_data)
 
Color Blending Modes
BLI_INLINE uint mcol_blend (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_add (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_sub (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_mul (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_lighten (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_darken (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_colordodge (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_difference (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_screen (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_hardlight (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_overlay (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_softlight (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_exclusion (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_luminosity (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_saturation (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_hue (uint col_src, uint col_dst, int fac)
 
BLI_INLINE uint mcol_alpha_add (uint col_src, int fac)
 
BLI_INLINE uint mcol_alpha_sub (uint col_src, int fac)
 
uint ED_vpaint_blend_tool (const int tool, const uint col, const uint paintcol, const int alpha_i)
 

Detailed Description

Intended for use by paint_vertex.c & paint_vertex_color_ops.c.

Definition in file paint_vertex_color_utils.c.

Macro Definition Documentation

◆ EPS_SATURATION

#define EPS_SATURATION   0.0005f

Definition at line 42 of file paint_vertex_color_utils.c.

Function Documentation

◆ ED_vpaint_blend_tool()

uint ED_vpaint_blend_tool ( const int  tool,
const uint  col,
const uint  paintcol,
const int  alpha_i 
)

◆ ED_vpaint_color_transform()

bool ED_vpaint_color_transform ( struct Object ob,
VPaintTransform_Callback  vpaint_tx_fn,
const void *  user_data 
)

◆ mcol_add()

BLI_INLINE uint mcol_add ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 137 of file paint_vertex_color_utils.c.

References divide_round_i().

Referenced by ED_vpaint_blend_tool().

◆ mcol_alpha_add()

BLI_INLINE uint mcol_alpha_add ( uint  col_src,
int  fac 
)

Definition at line 575 of file paint_vertex_color_utils.c.

Referenced by ED_vpaint_blend_tool().

◆ mcol_alpha_sub()

BLI_INLINE uint mcol_alpha_sub ( uint  col_src,
int  fac 
)

Definition at line 594 of file paint_vertex_color_utils.c.

Referenced by ED_vpaint_blend_tool().

◆ mcol_blend()

BLI_INLINE uint mcol_blend ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 98 of file paint_vertex_color_utils.c.

References divide_round_i(), round_fl_to_uchar(), and sqrtf.

Referenced by ED_vpaint_blend_tool().

◆ mcol_colordodge()

BLI_INLINE uint mcol_colordodge ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 281 of file paint_vertex_color_utils.c.

References min_ii().

Referenced by ED_vpaint_blend_tool().

◆ mcol_darken()

BLI_INLINE uint mcol_darken ( uint  col_src,
uint  col_dst,
int  fac 
)

◆ mcol_difference()

BLI_INLINE uint mcol_difference ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 308 of file paint_vertex_color_utils.c.

References abs().

Referenced by ED_vpaint_blend_tool().

◆ mcol_exclusion()

BLI_INLINE uint mcol_exclusion ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 450 of file paint_vertex_color_utils.c.

Referenced by ED_vpaint_blend_tool().

◆ mcol_hardlight()

BLI_INLINE uint mcol_hardlight ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 362 of file paint_vertex_color_utils.c.

References min_ii().

Referenced by ED_vpaint_blend_tool().

◆ mcol_hue()

BLI_INLINE uint mcol_hue ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 542 of file paint_vertex_color_utils.c.

References hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.

Referenced by ED_vpaint_blend_tool().

◆ mcol_lighten()

BLI_INLINE uint mcol_lighten ( uint  col_src,
uint  col_dst,
int  fac 
)

◆ mcol_luminosity()

BLI_INLINE uint mcol_luminosity ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 475 of file paint_vertex_color_utils.c.

References hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.

Referenced by ED_vpaint_blend_tool().

◆ mcol_mul()

BLI_INLINE uint mcol_mul ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 189 of file paint_vertex_color_utils.c.

References divide_round_i().

Referenced by ED_vpaint_blend_tool().

◆ mcol_overlay()

BLI_INLINE uint mcol_overlay ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 392 of file paint_vertex_color_utils.c.

References min_ii().

Referenced by ED_vpaint_blend_tool().

◆ mcol_saturation()

BLI_INLINE uint mcol_saturation ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 508 of file paint_vertex_color_utils.c.

References EPS_SATURATION, hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.

Referenced by ED_vpaint_blend_tool().

◆ mcol_screen()

BLI_INLINE uint mcol_screen ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 335 of file paint_vertex_color_utils.c.

References max_ii().

Referenced by ED_vpaint_blend_tool().

◆ mcol_softlight()

BLI_INLINE uint mcol_softlight ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 422 of file paint_vertex_color_utils.c.

Referenced by ED_vpaint_blend_tool().

◆ mcol_sub()

BLI_INLINE uint mcol_sub ( uint  col_src,
uint  col_dst,
int  fac 
)

Definition at line 163 of file paint_vertex_color_utils.c.

References divide_round_i().

Referenced by ED_vpaint_blend_tool().