Blender  V3.3
Classes | Typedefs | Functions
sculpt_paint_color.c File Reference
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_hash.h"
#include "BLI_math.h"
#include "BLI_math_color_blend.h"
#include "BLI_task.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BKE_brush.h"
#include "BKE_colorband.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_mesh.h"
#include "BKE_mesh_mapping.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_pbvh.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "IMB_colormanagement.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_toolsystem.h"
#include "WM_types.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_sculpt.h"
#include "paint_intern.h"
#include "sculpt_intern.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "UI_interface.h"
#include "IMB_imbuf.h"
#include "bmesh.h"
#include <math.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  SampleWetPaintTLSData
 

Typedefs

typedef struct SampleWetPaintTLSData SampleWetPaintTLSData
 

Functions

static void do_color_smooth_task_cb_exec (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict tls)
 
static void do_paint_brush_task_cb_ex (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict tls)
 
static void do_sample_wet_paint_task_cb (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict tls)
 
static void sample_wet_paint_reduce (const void *__restrict UNUSED(userdata), void *__restrict chunk_join, void *__restrict chunk)
 
void SCULPT_do_paint_brush (PaintModeSettings *paint_mode_settings, Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
 
static void do_smear_brush_task_cb_exec (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict tls)
 
static void do_smear_store_prev_colors_task_cb_exec (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict UNUSED(tls))
 
void SCULPT_do_smear_brush (Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
 

Typedef Documentation

◆ SampleWetPaintTLSData

Function Documentation

◆ do_color_smooth_task_cb_exec()

static void do_color_smooth_task_cb_exec ( void *__restrict  userdata,
const int  n,
const TaskParallelTLS *__restrict  tls 
)
static

◆ do_paint_brush_task_cb_ex()

static void do_paint_brush_task_cb_ex ( void *__restrict  userdata,
const int  n,
const TaskParallelTLS *__restrict  tls 
)
static

Definition at line 98 of file sculpt_paint_color.c.

References Brush::alpha, BKE_brush_color_get(), BKE_brush_secondary_color_get(), BKE_colorband_evaluate(), BKE_pbvh_node_color_buffer_get(), BKE_pbvh_vertex_iter_begin, BKE_pbvh_vertex_iter_end, Brush::blend, blend_color_interpolate_float(), blend_color_mix_float(), BLI_hash_int_01(), BLI_task_parallel_thread_id(), BRUSH_GRADIENT_PRESSURE, BRUSH_GRADIENT_SPACING_CLAMP, BRUSH_GRADIENT_SPACING_REPEAT, BRUSH_USE_GRADIENT, StrokeCache::bstrength, SculptSession::cache, CLAMP4, PBVHVertexIter::co, SculptOrigVertData::col, col, PBVHColorBufferNode::color, copy_v3_v3(), data, StrokeCache::density, usdtokens::density(), StrokeCache::density_seed, SculptBrushTest::dist, fabsf, fade(), Brush::flag, float(), StrokeCache::flow, PBVHVertexIter::fno, Brush::gradient, Brush::gradient_spacing, Brush::gradient_stroke_mode, PBVHVertexIter::i, IMB_blend_color_float(), IMB_colormanagement_srgb_to_scene_linear_v3(), PBVHVertexIter::index, StrokeCache::invert, PBVHVertexIter::mask, mul_v4_v4fl(), PBVHVertexIter::no, noise(), StrokeCache::paint_brush, SculptSession::pbvh, PBVH_ITER_UNIQUE, StrokeCache::pressure, StrokeCache::radius, SculptSession::scene, SCULPT_brush_strength_factor(), SCULPT_brush_test_cube(), SCULPT_brush_test_init_with_falloff_shape(), SCULPT_orig_vert_data_init(), SCULPT_orig_vert_data_update(), SCULPT_UNDO_COLOR, SCULPT_vertex_color_get(), SCULPT_vertex_color_set(), sqrtf, StrokeCache::stroke_distance, blender::threading::enumerable_thread_specific_utils::thread_id, Brush::tip_roundness, and StrokeCache::wet_mix.

Referenced by SCULPT_do_paint_brush().

◆ do_sample_wet_paint_task_cb()

static void do_sample_wet_paint_task_cb ( void *__restrict  userdata,
const int  n,
const TaskParallelTLS *__restrict  tls 
)
static

◆ do_smear_brush_task_cb_exec()

static void do_smear_brush_task_cb_exec ( void *__restrict  userdata,
const int  n,
const TaskParallelTLS *__restrict  tls 
)
static

◆ do_smear_store_prev_colors_task_cb_exec()

static void do_smear_store_prev_colors_task_cb_exec ( void *__restrict  userdata,
const int  n,
const TaskParallelTLS *__restrict   UNUSEDtls 
)
static

◆ sample_wet_paint_reduce()

static void sample_wet_paint_reduce ( const void *__restrict   UNUSEDuserdata,
void *__restrict  chunk_join,
void *__restrict  chunk 
)
static

◆ SCULPT_do_paint_brush()

void SCULPT_do_paint_brush ( PaintModeSettings paint_mode_settings,
Sculpt sd,
Object ob,
PBVHNode **  nodes,
int  totnode 
)

◆ SCULPT_do_smear_brush()

void SCULPT_do_smear_brush ( Sculpt sd,
Object ob,
PBVHNode **  nodes,
int  totnode 
)