opacity pressure and jitter, initial direction
This commit is contained in:
@@ -214,7 +214,8 @@ std::vector<NodeStrokePreview::StrokeFrame> NodeStrokePreview::stroke_draw_compu
|
||||
|
||||
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 = B;
|
||||
|
||||
prev = s;
|
||||
@@ -251,6 +252,8 @@ void NodeStrokePreview::draw_stroke()
|
||||
m_stroke.start(b);
|
||||
|
||||
auto dual_brush = std::make_shared<Brush>();
|
||||
dual_brush->m_tip_scale = b->m_dual_scale;
|
||||
dual_brush->m_tip_angle = b->m_dual_angle;
|
||||
dual_brush->m_tip_flow = b->m_dual_flow;
|
||||
dual_brush->m_tip_opacity = b->m_dual_opacity;
|
||||
dual_brush->m_tip_flipx = b->m_dual_flipx;
|
||||
@@ -319,7 +322,6 @@ void NodeStrokePreview::draw_stroke()
|
||||
m_rtt.clear();
|
||||
ShaderManager::use(kShader::Stroke);
|
||||
ShaderManager::u_int(kShaderUniform::UsePattern, false);
|
||||
ShaderManager::u_float(kShaderUniform::Opacity, b->m_dual_opacity);
|
||||
ShaderManager::u_float(kShaderUniform::MixAlpha, 0);
|
||||
ShaderManager::u_float(kShaderUniform::Wet, 0);
|
||||
ShaderManager::u_float(kShaderUniform::Noise, 0);
|
||||
@@ -329,8 +331,8 @@ void NodeStrokePreview::draw_stroke()
|
||||
for (auto& f : frames_dual)
|
||||
{
|
||||
ShaderManager::u_vec4(kShaderUniform::Col, { 0, 0, 0, 1 });
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, f.pressure);
|
||||
//ShaderManager::u_float(kShaderUniform::Opacity, f.opacity); // per sample opacity
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, f.flow);
|
||||
ShaderManager::u_float(kShaderUniform::Opacity, f.opacity);
|
||||
auto rect = stroke_draw_samples(f.shapes, m_tex_dual);
|
||||
}
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
@@ -345,7 +347,6 @@ void NodeStrokePreview::draw_stroke()
|
||||
// DRAW MAIN BRUSH
|
||||
|
||||
ShaderManager::use(kShader::Stroke);
|
||||
ShaderManager::u_float(kShaderUniform::Opacity, b->m_tip_opacity);
|
||||
ShaderManager::u_float(kShaderUniform::MixAlpha, b->m_tip_mix);
|
||||
ShaderManager::u_float(kShaderUniform::Wet, b->m_tip_wet);
|
||||
ShaderManager::u_float(kShaderUniform::Noise, b->m_tip_noise);
|
||||
@@ -370,8 +371,8 @@ void NodeStrokePreview::draw_stroke()
|
||||
|
||||
ShaderManager::use(kShader::Stroke);
|
||||
ShaderManager::u_vec4(kShaderUniform::Col, { 0, 0, 0, 1 } /*f.col*/);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, glm::max(f.pressure, m_min_flow));
|
||||
//ShaderManager::u_float(kShaderUniform::Opacity, f.opacity); // per sample opacity
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, glm::max(f.flow, m_min_flow));
|
||||
ShaderManager::u_float(kShaderUniform::Opacity, f.opacity);
|
||||
auto rect = stroke_draw_samples(f.shapes, m_tex);
|
||||
}
|
||||
glActiveTexture(GL_TEXTURE3);
|
||||
|
||||
Reference in New Issue
Block a user