improve brush step size
This commit is contained in:
@@ -282,21 +282,9 @@ void Stroke::add_point(glm::vec3 pos, float pressure)
|
||||
if (m_brush->m_tip_size_pressure)
|
||||
{
|
||||
float aspect_width = glm::min(1.f, glm::clamp(m_brush->m_tip_aspect, .1f, .9f) * 2.f);
|
||||
float raw_size = aspect_width * glm::min(m_brush->m_tip_scale.x, m_brush->m_tip_scale.y) * m_brush->m_tip_size;
|
||||
float size = glm::clamp(raw_size / glm::tan(glm::radians(m_camera.fov * 0.5f)), 1.f, m_max_size);
|
||||
|
||||
if (raw_size < 2.f)
|
||||
m_step = glm::max(0.5f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 10.f)
|
||||
m_step = glm::max(0.2f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 30.f)
|
||||
m_step = glm::max(0.1f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 50.f)
|
||||
m_step = glm::max(0.05f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 200.f)
|
||||
m_step = glm::max(0.01f, m_brush->m_tip_spacing) * size;
|
||||
else
|
||||
m_step = m_brush->m_tip_spacing * size;
|
||||
float raw_size = glm::clamp(m_brush->m_tip_size / glm::tan(glm::radians(m_camera.fov * 0.5f)), 1.f, m_max_size);
|
||||
float size = aspect_width * glm::min(m_brush->m_tip_scale.x, m_brush->m_tip_scale.y) * raw_size;
|
||||
m_step = glm::max(0.5f, m_brush->m_tip_spacing * size);
|
||||
}
|
||||
|
||||
float dist = m_keypoints.empty() ? m_step :
|
||||
@@ -327,21 +315,9 @@ void Stroke::start(const std::shared_ptr<Brush>& brush)
|
||||
m_brush = brush;
|
||||
|
||||
float aspect_width = glm::min(1.f, glm::clamp(m_brush->m_tip_aspect, .1f, .9f) * 2.f);
|
||||
float raw_size = aspect_width * glm::min(m_brush->m_tip_scale.x, m_brush->m_tip_scale.y) * m_brush->m_tip_size;
|
||||
float size = glm::clamp(raw_size / glm::tan(glm::radians(m_camera.fov * 0.5f)), 1.f, m_max_size);
|
||||
|
||||
if (raw_size < 2.f)
|
||||
m_step = glm::max(0.5f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 10.f)
|
||||
m_step = glm::max(0.2f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 30.f)
|
||||
m_step = glm::max(0.1f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 50.f)
|
||||
m_step = glm::max(0.05f, m_brush->m_tip_spacing) * size;
|
||||
else if (raw_size < 200.f)
|
||||
m_step = glm::max(0.01f, m_brush->m_tip_spacing) * size;
|
||||
else
|
||||
m_step = m_brush->m_tip_spacing * size;
|
||||
float raw_size = glm::clamp(m_brush->m_tip_size / glm::tan(glm::radians(m_camera.fov * 0.5f)), 1.f, m_max_size);
|
||||
float size = aspect_width * glm::min(m_brush->m_tip_scale.x, m_brush->m_tip_scale.y) * raw_size;
|
||||
m_step = glm::max(0.5f, m_brush->m_tip_spacing * size);
|
||||
|
||||
m_direction.resize(std::max<int>(1, m_brush->m_tip_angle_smooth * 200.f / m_step));
|
||||
prng.seed(0);
|
||||
|
||||
Reference in New Issue
Block a user