This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/makesdna/DNA_brush_defaults.h
Pablo Dobarro cc6ec71b19 Sculpt: Wet paint area radius
This adds a new property to the sculpt vertex color paint brush to limit
the area of the brush that is going to be used to sample the wet paint
color. This is exactly the same concept as normal radius and area radius
that exist for sculpting brushes for sampling the surface depth and
orientation.

When working near color hard edges, this allows to prevent the color
from the other side of the edge to blend into the wet paint.

With 1.0 (the previous default) wet paint radius, as soon as the brush touches
one vertex of the other color, the wet paint mix color changes, making it
impossible to maintain the border between the two colors.

Reviewed By: sergey, dbystedt, JulienKaspar

Differential Revision: https://developer.blender.org/D9587
2020-12-03 22:55:35 +01:00

119 lines
3.5 KiB
C++

/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/** \file
* \ingroup DNA
*/
#pragma once
#include "DNA_texture_defaults.h"
/* Struct members on own line. */
/* clang-format off */
/* -------------------------------------------------------------------- */
/** \name Brush Struct
* \{ */
#define _DNA_DEFAULT_Brush \
{ \
.blend = 0, \
.flag = (BRUSH_ALPHA_PRESSURE | BRUSH_SPACE | BRUSH_SPACE_ATTEN), \
.sampling_flag = (BRUSH_PAINT_ANTIALIASING), \
\
.ob_mode = OB_MODE_ALL_PAINT, \
\
/* BRUSH SCULPT TOOL SETTINGS */ \
.weight = 1.0f, /* weight of brush 0 - 1.0 */ \
.size = 35, /* radius of the brush in pixels */ \
.alpha = 1.0f, /* brush strength/intensity probably variable should be renamed? */ \
.autosmooth_factor = 0.0f, \
.topology_rake_factor = 0.0f, \
.crease_pinch_factor = 0.5f, \
.normal_radius_factor = 0.5f, \
.wet_paint_radius_factor = 0.5f, \
.area_radius_factor = 0.5f, \
.disconnected_distance_max = 0.1f, \
.sculpt_plane = SCULPT_DISP_DIR_AREA, \
.cloth_damping = 0.01, \
.cloth_mass = 1, \
.cloth_sim_limit = 2.5f, \
.cloth_sim_falloff = 0.75f, \
/* How far above or below the plane that is found by averaging the faces. */ \
.plane_offset = 0.0f, \
.plane_trim = 0.5f, \
.clone.alpha = 0.5f, \
.normal_weight = 0.0f, \
.fill_threshold = 0.2f, \
\
/* BRUSH PAINT TOOL SETTINGS */ \
/* Default rgb color of the brush when painting - white. */ \
.rgb = {1.0f, 1.0f, 1.0f}, \
\
.secondary_rgb = {0, 0, 0}, \
\
/* BRUSH STROKE SETTINGS */ \
/* How far each brush dot should be spaced as a percentage of brush diameter. */ \
.spacing = 10, \
\
.smooth_stroke_radius = 75, \
.smooth_stroke_factor = 0.9f, \
\
/* Time delay between dots of paint or sculpting when doing airbrush mode. */ \
.rate = 0.1f, \
\
.jitter = 0.0f, \
\
/* Dash */ \
.dash_ratio = 1.0f, \
.dash_samples = 20, \
\
.texture_sample_bias = 0, /* value to added to texture samples */ \
.texture_overlay_alpha = 33, \
.mask_overlay_alpha = 33, \
.cursor_overlay_alpha = 33, \
.overlay_flags = 0, \
\
/* brush appearance */ \
\
/* add mode color is light red */ \
.add_col = {1.0, 0.39, 0.39, 0.9}, \
\
/* subtract mode color is light blue */ \
.sub_col = {0.39, 0.39, 1.0, 0.9}, \
\
.stencil_pos = {256, 256}, \
.stencil_dimension = {256, 256}, \
\
/* sculpting defaults to the draw tool for new brushes */ \
.sculpt_tool = SCULPT_TOOL_DRAW, \
.pose_smooth_iterations = 4, \
.pose_ik_segments = 1, \
.hardness = 0.0f, \
.automasking_boundary_edges_propagation_steps = 1, \
\
/* A kernel radius of 1 has almost no effect (T63233). */ \
.blur_kernel_radius = 2, \
\
.mtex = _DNA_DEFAULT_MTex, \
.mask_mtex = _DNA_DEFAULT_MTex, \
}
/** \} */
/* clang-format on */