match jitter to PS, preset change also size
This commit is contained in:
@@ -158,7 +158,7 @@ StrokeSample Stroke::randomize_sample(const glm::vec3& pos, float pressure, floa
|
||||
s.scale = m_brush->m_tip_scale * randflipx * (m_brush->m_tip_flipx ? -1.f : 1.f) * aspect_scale;
|
||||
s.angle = (m_brush->m_tip_angle + rnd_neg() * m_brush->m_jitter_angle) * (float)(M_PI * 2.0);
|
||||
s.size = size * (1.f - rnd_nor() * m_brush->m_jitter_scale) * size_dyn;
|
||||
s.pos = pos + (scatter_scale * rnd_vec() * m_brush->m_jitter_scatter * s.size);
|
||||
s.pos = pos + (scatter_scale * rnd_vec() * m_brush->m_jitter_scatter * s.size * 0.5f); // 0.5 because PS scatters by half size
|
||||
s.flow = m_brush->m_tip_flow * (1.f - rnd_nor() * m_brush->m_jitter_flow) * flow_dyn;
|
||||
s.opacity = m_brush->m_tip_opacity * (1.f - rnd_nor() * m_brush->m_jitter_opacity) * opacity_dyn;
|
||||
auto hsv = convert_rgb2hsv(m_brush->m_tip_color);
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
bool m_tip_randflipx = false;
|
||||
bool m_tip_randflipy = false;
|
||||
float m_tip_aspect = 0.5f;
|
||||
float m_dual_flow = .75f;
|
||||
float m_dual_flow = 1.f;
|
||||
float m_dual_opacity = 1.f;
|
||||
float m_dual_rotate = .25f;
|
||||
float m_dual_angle = 0;
|
||||
|
||||
@@ -299,9 +299,10 @@ void NodePanelStroke::init_controls()
|
||||
|
||||
m_presets_popup->on_brush_changed = [this](Node* target, std::shared_ptr<Brush>& b) {
|
||||
// don't change some params
|
||||
b->m_tip_size = Canvas::I->m_current_brush->m_tip_size;
|
||||
b->m_tip_color = Canvas::I->m_current_brush->m_tip_color;
|
||||
//b->m_tip_size = Canvas::I->m_current_brush->m_tip_size;
|
||||
auto old_color = Canvas::I->m_current_brush->m_tip_color;
|
||||
*Canvas::I->m_current_brush = *b;
|
||||
Canvas::I->m_current_brush->m_tip_color = old_color;
|
||||
m_preview->draw_stroke();
|
||||
m_brush_thumb->set_image(b->m_brush_thumb_path);
|
||||
m_dual_brush_thumb->set_image(b->m_dual_thumb_path);
|
||||
|
||||
Reference in New Issue
Block a user