Route layer merge composite setup through helper

This commit is contained in:
2026-06-13 04:58:04 +02:00
parent 5838a8f4ce
commit a9d3c63ee0
3 changed files with 23 additions and 11 deletions

View File

@@ -1636,17 +1636,19 @@ void Canvas::layer_merge(int source_idx, int dest_idx) // m_layer index
m_sampler.bind(0);
m_sampler_nearest.bind(1);
{
ShaderManager::use(kShader::CompDraw);
ShaderManager::u_int(kShaderUniform::Tex, 0); // dest
ShaderManager::u_int(kShaderUniform::TexStroke, 1); // source
ShaderManager::u_vec2(kShaderUniform::Resolution, m_size);
ShaderManager::u_float(kShaderUniform::Alpha, m_layers[source_idx]->m_opacity);
ShaderManager::u_int(kShaderUniform::Lock, false);
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
ShaderManager::u_int(kShaderUniform::BlendMode, m_layers[source_idx]->m_blend_mode);
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f));
ShaderManager::u_int(kShaderUniform::UseDual, false);
ShaderManager::u_int(kShaderUniform::UsePattern, false);
pp::panopainter::setup_legacy_stroke_composite_shader(
pp::panopainter::LegacyStrokeCompositeUniforms {
.resolution = m_size,
.mvp = glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f),
.layer_alpha = m_layers[source_idx]->m_opacity,
.alpha_lock = false,
.mask_enabled = false,
.use_fragcoord = false,
.blend_mode = m_layers[source_idx]->m_blend_mode,
.use_dual = false,
.dual_alpha = 0.0f,
.use_pattern = false,
});
set_active_texture_unit(0);
m_tex2[i].bind();