Route mask cut composite setup through helper

This commit is contained in:
2026-06-13 05:27:01 +02:00
parent 96a13eec72
commit 76f0061840
3 changed files with 24 additions and 12 deletions

View File

@@ -8,6 +8,7 @@
#include "canvas.h"
#include "shader.h"
#include "node_canvas.h"
#include "legacy_canvas_stroke_composite_services.h"
#include "legacy_ui_overlay_services.h"
#include "legacy_ui_gl_dispatch.h"
#include "app.h"
@@ -1478,18 +1479,20 @@ void CanvasModeTransform::leave(kCanvasMode next)
set_canvas_mode_active_texture_unit(1);
for (int j = 0; j < 6; j++)
{
ShaderManager::use(kShader::CompDraw);
ShaderManager::u_mat4(kShaderUniform::MVP, mvp);
ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_int(kShaderUniform::TexStroke, 1);
ShaderManager::u_float(kShaderUniform::Alpha, 1);
ShaderManager::u_int(kShaderUniform::UseFragcoord, true);
ShaderManager::u_int(kShaderUniform::Lock, false);
ShaderManager::u_int(kShaderUniform::Mask, false);
ShaderManager::u_vec2(kShaderUniform::Resolution, Canvas::I->m_size);
ShaderManager::u_int(kShaderUniform::BlendMode, 0);
ShaderManager::u_int(kShaderUniform::UseDual, false);
ShaderManager::u_int(kShaderUniform::UsePattern, false);
pp::panopainter::setup_legacy_stroke_composite_shader(
pp::panopainter::LegacyStrokeCompositeUniforms {
.resolution = Canvas::I->m_size,
.mvp = mvp,
.texture_slot = 0,
.stroke_texture_slot = 1,
.layer_alpha = 1.0f,
.alpha_lock = false,
.mask_enabled = false,
.use_fragcoord = true,
.blend_mode = 0,
.use_dual = false,
.use_pattern = false,
});
Canvas::I->m_sampler_linear.bind(1);
Canvas::I->m_sampler_linear.bind(0);
m_tex[j].bind();