opacity pressure and jitter, initial direction

This commit is contained in:
2019-02-25 01:31:32 +01:00
parent bfaff312f8
commit abca1d5162
12 changed files with 94 additions and 38 deletions

View File

@@ -447,7 +447,8 @@ std::vector<Canvas::StrokeFrame> Canvas::stroke_draw_compute(Stroke& stroke) con
f.m_mixer_rect = { glm::floor(mixer_bb_min), glm::ceil(mixer_bb_max - mixer_bb_min) };
f.col = glm::vec4(s.col, 1);
f.pressure = s.flow;
f.flow = s.flow;
f.opacity = s.opacity;
f.shapes = stroke_draw_project(B);
prev = s;
@@ -528,8 +529,8 @@ void Canvas::stroke_draw()
ShaderManager::use(kShader::Stroke);
ShaderManager::u_vec4(kShaderUniform::Col, f.col);
ShaderManager::u_float(kShaderUniform::Alpha, f.pressure);
//ShaderManager::u_float(kShaderUniform::Opacity, f.opacity); // per-tip opacity
ShaderManager::u_float(kShaderUniform::Alpha, f.flow);
ShaderManager::u_float(kShaderUniform::Opacity, f.opacity);
for (int i = 0; i < 6; i++)
{
auto& P = f.shapes[i];
@@ -552,7 +553,6 @@ void Canvas::stroke_draw()
if (brush->m_dual_enabled)
{
ShaderManager::u_int(kShaderUniform::UsePattern, false);
ShaderManager::u_float(kShaderUniform::Opacity, brush->m_dual_opacity);
ShaderManager::u_float(kShaderUniform::MixAlpha, 0);
ShaderManager::u_float(kShaderUniform::Wet, 0);
ShaderManager::u_float(kShaderUniform::Noise, 0);
@@ -564,8 +564,8 @@ void Canvas::stroke_draw()
{
ShaderManager::use(kShader::Stroke);
ShaderManager::u_vec4(kShaderUniform::Col, f.col);
ShaderManager::u_float(kShaderUniform::Alpha, f.pressure);
//ShaderManager::u_float(kShaderUniform::Opacity, f.opacity); // per-tip opacity
ShaderManager::u_float(kShaderUniform::Alpha, f.flow);
ShaderManager::u_float(kShaderUniform::Opacity, f.opacity);
for (int i = 0; i < 6; i++)
{
auto& P = f.shapes[i];