added pressure driven HSV brush modifier

This commit is contained in:
2018-07-28 02:07:55 +02:00
parent c0f9e13b92
commit 3936d9cef9
5 changed files with 44 additions and 5 deletions

View File

@@ -144,9 +144,9 @@ ui::StrokeSample ui::Stroke::randomize_sample(const glm::vec2& pos, float pressu
s.size = 800.f * m_brush.m_tip_size * (1.f - rnd_nor() * m_brush.m_jitter_scale) * size_dyn;
s.flow = m_brush.m_tip_flow * (1.f - rnd_nor() * m_brush.m_jitter_flow) * flow_dyn;
auto hsv = convert_rgb2hsv(m_brush.m_tip_color);
hsv.x = hsv.x + (rnd_nor() - 0.5f) * m_brush.m_jitter_hue;
hsv.y = hsv.y + (rnd_nor() - 0.5f) * m_brush.m_jitter_sat;
hsv.z = hsv.z + (rnd_nor() - 0.5f) * m_brush.m_jitter_val;
hsv.x = hsv.x + (rnd_nor() - 0.5f) * m_brush.m_jitter_hue + (pressure * 2.0f - 0.5f) * m_brush.m_tip_hue * m_brush.m_tip_hue_pressure;
hsv.y = hsv.y + (rnd_nor() - 0.5f) * m_brush.m_jitter_sat + (pressure * 2.0f - 0.5f) * m_brush.m_tip_sat * m_brush.m_tip_sat_pressure;
hsv.z = hsv.z + (rnd_nor() - 0.5f) * m_brush.m_jitter_val + (pressure * 2.0f - 0.5f) * m_brush.m_tip_val * m_brush.m_tip_val_pressure;
s.col = convert_hsv2rgb(hsv);
return s;
}