add dual brush roundness property

This commit is contained in:
2019-02-26 23:50:59 +01:00
parent ebcb918bdc
commit c3c2055011
6 changed files with 47 additions and 41 deletions

View File

@@ -278,7 +278,7 @@ std::vector<std::shared_ptr<Brush>> ABR::compute_brushes(const std::string& path
b->m_dual_flow = .90f; b->m_dual_flow = .90f;
b->m_dual_opacity = 1.f; b->m_dual_opacity = 1.f;
//b->m_tip_aspect = (1.f - samp->value<UnitFloat>("Rndn") * 0.01) * 0.5f + 0.5f; b->m_dual_aspect = (1.f - samp->value<UnitFloat>("Rndn") * 0.01) * 0.5f + 0.5f;
b->m_dual_size = samp->value<UnitFloat>("Dmtr") / b->m_tip_size; b->m_dual_size = samp->value<UnitFloat>("Dmtr") / b->m_tip_size;
b->m_dual_spacing = samp->value<UnitFloat>("Spcn") * 0.01f; b->m_dual_spacing = samp->value<UnitFloat>("Spcn") * 0.01f;

View File

@@ -24,6 +24,7 @@ public:
glm::vec4 m_tip_color = { 0, 0, 0, 1 }; glm::vec4 m_tip_color = { 0, 0, 0, 1 };
glm::vec2 m_tip_scale = { 1.f, 1.f }; glm::vec2 m_tip_scale = { 1.f, 1.f };
glm::vec2 m_dual_scale = { 1.f, 1.f };
float m_tip_size = 50; float m_tip_size = 50;
float m_tip_spacing = .25; float m_tip_spacing = .25;
float m_tip_flow = 1.f; float m_tip_flow = 1.f;
@@ -73,8 +74,8 @@ public:
float m_dual_opacity = 1.f; float m_dual_opacity = 1.f;
float m_dual_rotate = .25f; float m_dual_rotate = .25f;
float m_dual_angle = 0; float m_dual_angle = 0;
float m_dual_aspect = 0.5f;
int m_dual_count = 1; int m_dual_count = 1;
glm::vec2 m_dual_scale = { 1.f, 1.f };
int m_pattern_blend_mode = 1; int m_pattern_blend_mode = 1;
bool m_pattern_eachsample = false; bool m_pattern_eachsample = false;

View File

@@ -921,6 +921,7 @@ void Canvas::stroke_start(glm::vec3 point, float pressure)
dual_brush->m_jitter_scatter_bothaxis = m_current_brush->m_dual_scatter_bothaxis; dual_brush->m_jitter_scatter_bothaxis = m_current_brush->m_dual_scatter_bothaxis;
dual_brush->m_jitter_angle = m_current_brush->m_dual_rotate; dual_brush->m_jitter_angle = m_current_brush->m_dual_rotate;
dual_brush->m_tip_texture = m_current_brush->m_dual_texture; dual_brush->m_tip_texture = m_current_brush->m_dual_texture;
dual_brush->m_tip_aspect = m_current_brush->m_dual_aspect;
m_dual_stroke = std::make_unique<Stroke>(); m_dual_stroke = std::make_unique<Stroke>();
m_dual_stroke->m_camera.rot = m_cam_rot; m_dual_stroke->m_camera.rot = m_cam_rot;
m_dual_stroke->m_camera.fov = m_cam_fov; m_dual_stroke->m_camera.fov = m_cam_fov;

View File

@@ -536,6 +536,7 @@ bool NodePanelBrushPreset::save()
i.m_dual_rotate = b->m_dual_rotate; i.m_dual_rotate = b->m_dual_rotate;
i.m_dual_angle = b->m_dual_angle; i.m_dual_angle = b->m_dual_angle;
i.m_dual_count = b->m_dual_count; i.m_dual_count = b->m_dual_count;
i.m_dual_aspect = b->m_dual_aspect;
i.m_dual_scale = b->m_dual_scale; i.m_dual_scale = b->m_dual_scale;
i.m_pattern_eachsample = b->m_pattern_eachsample; i.m_pattern_eachsample = b->m_pattern_eachsample;
@@ -638,6 +639,7 @@ bool NodePanelBrushPreset::restore()
b->m_dual_rotate = i.m_dual_rotate; b->m_dual_rotate = i.m_dual_rotate;
b->m_dual_angle = i.m_dual_angle; b->m_dual_angle = i.m_dual_angle;
b->m_dual_count = i.m_dual_count; b->m_dual_count = i.m_dual_count;
b->m_dual_aspect = i.m_dual_aspect;
b->m_dual_scale = i.m_dual_scale; b->m_dual_scale = i.m_dual_scale;
b->m_pattern_eachsample = i.m_pattern_eachsample; b->m_pattern_eachsample = i.m_pattern_eachsample;

View File

@@ -105,6 +105,7 @@ class NodePanelBrushPreset : public Node
glm::vec4 m_tip_color{ 0, 0, 0, 1 }; glm::vec4 m_tip_color{ 0, 0, 0, 1 };
glm::vec2 m_tip_scale = { 1.f, 1.f }; glm::vec2 m_tip_scale = { 1.f, 1.f };
glm::vec2 m_dual_scale = { 1.f, 1.f };
float m_tip_size = 0; float m_tip_size = 0;
float m_tip_spacing = 0; float m_tip_spacing = 0;
float m_tip_flow = 0; float m_tip_flow = 0;
@@ -131,6 +132,7 @@ class NodePanelBrushPreset : public Node
float m_jitter_hue = 0; float m_jitter_hue = 0;
float m_jitter_sat = 0; float m_jitter_sat = 0;
float m_jitter_val = 0; float m_jitter_val = 0;
float m_dual_aspect = 0.5f;
int m_blend_mode = 0; int m_blend_mode = 0;
bool m_tip_invert = false; bool m_tip_invert = false;
@@ -155,7 +157,6 @@ class NodePanelBrushPreset : public Node
float m_dual_rotate = .25f; float m_dual_rotate = .25f;
float m_dual_angle = 0; float m_dual_angle = 0;
int m_dual_count = 1; int m_dual_count = 1;
glm::vec2 m_dual_scale = { 1.f, 1.f };
bool m_pattern_eachsample = false; bool m_pattern_eachsample = false;
bool m_pattern_invert = false; bool m_pattern_invert = false;

View File

@@ -269,6 +269,7 @@ void NodeStrokePreview::draw_stroke()
dual_brush->m_jitter_scatter_bothaxis = b->m_dual_scatter_bothaxis; dual_brush->m_jitter_scatter_bothaxis = b->m_dual_scatter_bothaxis;
dual_brush->m_jitter_angle = b->m_dual_rotate; dual_brush->m_jitter_angle = b->m_dual_rotate;
dual_brush->m_tip_texture = b->m_dual_texture; dual_brush->m_tip_texture = b->m_dual_texture;
dual_brush->m_tip_aspect = b->m_dual_aspect;
if (b->m_dual_enabled) if (b->m_dual_enabled)
{ {