89 #define PAINT_MODE_HAS_BRUSH(mode) !ELEM(mode, PAINT_MODE_SCULPT_UV)
101 #define PAINT_OVERRIDE_MASK \
102 (PAINT_OVERLAY_OVERRIDE_SECONDARY | PAINT_OVERLAY_OVERRIDE_PRIMARY | \
103 PAINT_OVERLAY_OVERRIDE_CURSOR)
110 #define PAINT_SYMM_AREA_DEFAULT 0
118 #define PAINT_SYMM_AREAS 8
147 struct GHash *color_table,
215 const struct MVert *mvert,
216 const struct MLoop *mloop);
237 const float mouse_pos[2]);
262 struct Paint *paint);
265 struct Paint *paint);
267 #define SCULPT_FACE_SET_NONE 0
754 const float fill_color[4],
767 struct Image **r_image,
typedef float(TangentPoint)[2]
Generic geometry attributes built on CustomData.
char * BKE_paint_canvas_key_get(struct PaintModeSettings *settings, struct Object *ob)
uint BKE_paint_get_brush_tool_offset_from_paintmode(ePaintMode mode)
bool BKE_object_attributes_active_color_fill(struct Object *ob, const float fill_color[4], bool only_selected)
bool paint_is_face_hidden(const struct MLoopTri *lt, const struct MVert *mvert, const struct MLoop *mloop)
struct Paint * BKE_paint_get_active(struct Scene *sce, struct ViewLayer *view_layer)
void BKE_sculptsession_free_vwpaint_data(struct SculptSession *ss)
void BKE_palette_sort_vhs(struct tPaletteColorHSV *color_array, int totcol)
eObjectMode BKE_paint_object_mode_from_paintmode(ePaintMode mode)
void BKE_sculptsession_bm_to_me_for_render(struct Object *object)
void BKE_paint_invalidate_overlay_tex(struct Scene *scene, struct ViewLayer *view_layer, const struct Tex *tex)
void BKE_paint_blend_write(struct BlendWriter *writer, struct Paint *paint)
void BKE_paint_copy(struct Paint *src, struct Paint *tar, int flag)
struct Palette * BKE_paint_palette(struct Paint *paint)
bool BKE_paint_canvas_image_get(struct PaintModeSettings *settings, struct Object *ob, struct Image **r_image, struct ImageUser **r_image_user)
void BKE_paint_brush_set(struct Paint *paint, struct Brush *br)
struct SculptPoseIKChainSegment SculptPoseIKChainSegment
struct Palette * BKE_palette_add(struct Main *bmain, const char *name)
struct SculptBoundaryPreviewEdge SculptBoundaryPreviewEdge
void BKE_sculpt_sync_face_set_visibility(struct Mesh *mesh, struct SubdivCCG *subdiv_ccg)
bool paint_calculate_rake_rotation(struct UnifiedPaintSettings *ups, struct Brush *brush, const float mouse_pos[2])
void BKE_sculpt_update_object_before_eval(const struct Scene *scene, struct Object *ob_eval)
void BKE_palette_sort_svh(struct tPaletteColorHSV *color_array, int totcol)
void BKE_sculpt_sync_face_sets_visibility_to_base_mesh(struct Mesh *mesh)
void BKE_paint_invalidate_cursor_overlay(struct Scene *scene, struct ViewLayer *view_layer, struct CurveMapping *curve)
void BKE_paint_toolslots_len_ensure(struct Paint *paint, int len)
bool BKE_paint_select_elem_test(struct Object *ob)
struct SculptClothLengthConstraint SculptClothLengthConstraint
float paint_grid_paint_mask(const struct GridPaintMask *gpm, uint level, uint x, uint y)
struct Paint * BKE_paint_get_active_from_paintmode(struct Scene *sce, ePaintMode mode)
void BKE_sculpt_sync_face_sets_visibility_to_grids(struct Mesh *mesh, struct SubdivCCG *subdiv_ccg)
void BKE_sculpt_toolsettings_data_ensure(struct Scene *scene)
ePaintMode BKE_paintmode_get_active_from_context(const struct bContext *C)
void BKE_paint_curve_set(struct Brush *br, struct PaintCurve *pc)
struct SculptSession SculptSession
struct MultiresModifierData * BKE_sculpt_multires_active(const struct Scene *scene, struct Object *ob)
const char PAINT_CURSOR_VERTEX_PAINT[3]
void BKE_paint_runtime_init(const struct ToolSettings *ts, struct Paint *paint)
struct SculptClothSimulation SculptClothSimulation
void BKE_sculpt_update_object_for_edit(struct Depsgraph *depsgraph, struct Object *ob_orig, bool need_pmap, bool need_mask, bool is_paint_tool)
const char PAINT_CURSOR_SCULPT[3]
bool paint_is_bmesh_face_hidden(struct BMFace *f)
struct Brush * BKE_paint_toolslots_brush_get(struct Paint *paint, int slot_index)
void BKE_paint_toolslots_brush_update(struct Paint *paint)
@ SCULPT_CLOTH_NODE_UNINITIALIZED
@ SCULPT_CLOTH_NODE_ACTIVE
@ SCULPT_CLOTH_NODE_INACTIVE
void BKE_paint_face_set_overlay_color_get(int face_set, int seed, uchar r_color[4])
struct SculptPersistentBase SculptPersistentBase
struct Brush * BKE_paint_brush(struct Paint *paint)
struct SculptBoundaryEditInfo SculptBoundaryEditInfo
void BKE_paint_init(struct Main *bmain, struct Scene *sce, ePaintMode mode, const char col[3])
bool BKE_paint_ensure(struct ToolSettings *ts, struct Paint **r_paint)
void BKE_paint_set_overlay_override(enum eOverlayFlags flag)
ePaintOverlayControlFlags
@ PAINT_OVERLAY_INVALID_CURVE
@ PAINT_OVERLAY_INVALID_TEXTURE_SECONDARY
@ PAINT_OVERLAY_OVERRIDE_CURSOR
@ PAINT_OVERLAY_INVALID_TEXTURE_PRIMARY
@ PAINT_OVERLAY_OVERRIDE_SECONDARY
@ PAINT_OVERLAY_OVERRIDE_PRIMARY
void BKE_paint_reset_overlay_invalid(ePaintOverlayControlFlags flag)
void BKE_paint_palette_set(struct Paint *p, struct Palette *palette)
int BKE_sculpt_mask_layers_ensure(struct Object *ob, struct MultiresModifierData *mmd)
void BKE_paint_curve_clamp_endpoint_add_index(struct PaintCurve *pc, int add_index)
void BKE_paint_free(struct Paint *p)
void BKE_palette_color_remove(struct Palette *palette, struct PaletteColor *color)
struct SculptPoseIKChain SculptPoseIKChain
void BKE_palette_sort_hsv(struct tPaletteColorHSV *color_array, int totcol)
void BKE_sculptsession_free(struct Object *ob)
struct SculptVertexInfo SculptVertexInfo
struct Paint * BKE_paint_get_active_from_context(const struct bContext *C)
void BKE_paint_blend_read_lib(struct BlendLibReader *reader, struct Scene *scene, struct Paint *paint)
bool paint_is_grid_face_hidden(const unsigned int *grid_hidden, int gridsize, int x, int y)
const char PAINT_CURSOR_WEIGHT_PAINT[3]
struct SculptBoundary SculptBoundary
const struct EnumPropertyItem * BKE_paint_get_tool_enum_from_paintmode(ePaintMode mode)
struct SculptFakeNeighbors SculptFakeNeighbors
bool BKE_paint_select_vert_test(struct Object *ob)
const char PAINT_CURSOR_TEXTURE_PAINT[3]
bool BKE_paint_select_face_test(struct Object *ob)
void BKE_paint_toolslots_brush_update_ex(struct Paint *paint, struct Brush *brush)
void BKE_palette_clear(struct Palette *palette)
bool BKE_sculptsession_use_pbvh_draw(const struct Object *ob, const struct RegionView3D *rv3d)
bool BKE_paint_ensure_from_paintmode(struct Scene *sce, ePaintMode mode)
void BKE_paint_toolslots_brush_validate(struct Main *bmain, struct Paint *paint)
int BKE_paint_canvas_uvmap_layer_index_get(const struct PaintModeSettings *settings, struct Object *ob)
void BKE_paint_stroke_get_average(struct Scene *scene, struct Object *ob, float stroke[3])
void BKE_paint_cavity_curve_preset(struct Paint *p, int preset)
void BKE_sculptsession_free_deformMats(struct SculptSession *ss)
void BKE_paint_invalidate_overlay_all(void)
struct PaintCurve * BKE_paint_curve_add(struct Main *bmain, const char *name)
@ PAINT_MODE_SCULPT_CURVES
@ PAINT_MODE_VERTEX_GPENCIL
@ PAINT_MODE_WEIGHT_GPENCIL
@ PAINT_MODE_SCULPT_GPENCIL
void BKE_sculptsession_bm_to_me(struct Object *ob, bool reorder)
const char * BKE_paint_get_tool_prop_id_from_paintmode(ePaintMode mode)
void BKE_sculpt_bvh_update_from_ccg(struct PBVH *pbvh, struct SubdivCCG *subdiv_ccg)
struct PaletteColor * BKE_palette_color_add(struct Palette *palette)
eSculptClothConstraintType
@ SCULPT_CLOTH_CONSTRAINT_DEFORMATION
@ SCULPT_CLOTH_CONSTRAINT_PIN
@ SCULPT_CLOTH_CONSTRAINT_SOFTBODY
@ SCULPT_CLOTH_CONSTRAINT_STRUCTURAL
void BKE_sculpt_update_object_after_eval(struct Depsgraph *depsgraph, struct Object *ob_eval)
struct PBVH * BKE_sculpt_object_pbvh_ensure(struct Depsgraph *depsgraph, struct Object *ob)
void BKE_paint_blend_read_data(struct BlendDataReader *reader, const struct Scene *scene, struct Paint *paint)
ePaintOverlayControlFlags BKE_paint_get_overlay_flags(void)
void BKE_sculpt_color_layer_create_if_needed(struct Object *object)
void BKE_paint_toolslots_init_from_main(struct Main *bmain)
const struct Brush * BKE_paint_brush_for_read(const struct Paint *p)
bool BKE_paint_always_hide_test(struct Object *ob)
@ SCULPT_MASK_LAYER_CALC_VERT
@ SCULPT_MASK_LAYER_CALC_LOOP
void BKE_palette_sort_luminance(struct tPaletteColorHSV *color_array, int totcol)
void paint_update_brush_rake_rotation(struct UnifiedPaintSettings *ups, struct Brush *brush, float rotation)
bool BKE_palette_from_hash(struct Main *bmain, struct GHash *color_table, const char *name, bool linear)
void BKE_sculpt_face_sets_ensure_from_base_mesh_visibility(struct Mesh *mesh)
ePaintMode BKE_paintmode_get_from_tool(const struct bToolRef *tref)
void BKE_sculpt_ensure_orig_mesh_data(struct Scene *scene, struct Object *object)
bool BKE_palette_is_empty(const struct Palette *palette)
struct Depsgraph Depsgraph
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a color
static unsigned long seed
const Depsgraph * depsgraph
SyclQueue void void * src
struct SubdivCCG * subdiv_ccg
int num_propagation_steps
struct SculptBoundary::@51 twist
int max_propagation_steps
struct SculptBoundaryEditInfo * edit_info
float initial_vertex_position[3]
float(* pivot_rotation_axis)[3]
float initial_pivot_position[3]
struct SculptBoundary::@50 slide
struct SculptBoundary::@49 bend
SculptBoundaryPreviewEdge * edges
float(* pivot_positions)[3]
eSculptClothConstraintType type
float * deformation_strength
struct EdgeSet * created_length_constraints
struct ListBase * collider_list
struct GHash * node_state_index
int capacity_length_constraints
float(* deformation_pos)[3]
int tot_length_constraints
eSculptClothNodeSimState * node_state
SculptClothLengthConstraint * length_constraints
float(* last_iteration_pos)[3]
float * length_constraint_tweak
int * fake_neighbor_index
float current_max_distance
float pivot_mat[PAINT_SYMM_AREAS][4][4]
float trans_mat[PAINT_SYMM_AREAS][4][4]
float pivot_mat_inv[PAINT_SYMM_AREAS][4][4]
SculptPoseIKChainSegment * segments
float grab_delta_offset[3]
struct SubdivCCG * subdiv_ccg
struct ImagePool * tex_pool
SculptPoseIKChain * pose_ik_chain_preview
struct MeshElemMap * epmap
float cursor_view_normal[3]
struct MDeformVert * dvert_prev
int preview_vert_index_count
struct Depsgraph * depsgraph
struct SculptSession::@53::@54 vpaint
SculptVertexInfo vertex_info
struct RegionView3D * rv3d
eCustomDataType vcol_type
struct KeyBlock * shapekey_active
float init_pivot_scale[3]
int * preview_vert_index_list
SculptBoundary * boundary_preview
struct MeshElemMap * vemap
float gesture_initial_location[3]
struct SculptSession::@53::@55 wpaint
union SculptSession::@53 mode
char * last_paint_canvas_key
float gesture_initial_normal[3]
struct SculptVertexPaintGeomMap gmap
float prev_pivot_scale[3]
struct MeshElemMap * pmap
bool sticky_shading_color
struct SculptSession::@52 multires
struct MultiresModifierData * modifier
float(* deform_imats)[3][3]
float cursor_sampled_normal[3]
struct StrokeCache * cache
struct ExpandCache * expand_cache
SculptFakeNeighbors fake_neighbors
SculptPersistentBase * persistent_base
struct FilterCache * filter_cache
bool deform_modifiers_active
int * connected_component
struct MeshElemMap * vert_to_loop
struct MeshElemMap * vert_to_poly