Extract draw merge temporary composite wrapper
This commit is contained in:
@@ -480,6 +480,22 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz)
|
||||
gl.restore();
|
||||
}
|
||||
|
||||
template <typename Setup, typename BindSamplers, typename BindTextures, typename Draw, typename UnbindTextures>
|
||||
static void execute_canvas_draw_merge_temporary_composite(
|
||||
Setup&& setup,
|
||||
BindSamplers&& bind_samplers,
|
||||
BindTextures&& bind_textures,
|
||||
Draw&& draw,
|
||||
UnbindTextures&& unbind_textures)
|
||||
{
|
||||
pp::panopainter::execute_legacy_canvas_stroke_temporary_composite(
|
||||
std::forward<Setup>(setup),
|
||||
std::forward<BindSamplers>(bind_samplers),
|
||||
std::forward<BindTextures>(bind_textures),
|
||||
std::forward<Draw>(draw),
|
||||
std::forward<UnbindTextures>(unbind_textures));
|
||||
}
|
||||
|
||||
std::array<std::vector<vertex_t>, 6> Canvas::stroke_draw_project(std::array<vertex_t, 4>& B, bool project_3d /*= false*/, glm::mat4 mv /*= glm::mat4(1)*/) const
|
||||
{
|
||||
// intersect P with the current face to clip diverging points from the plane
|
||||
@@ -1435,7 +1451,7 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array<bool, 6> faces /*= SI
|
||||
use_blend,
|
||||
pp::panopainter::LegacyCanvasDrawMergeLayerCompositeExecution {
|
||||
.execute_temporary_erase = [&] {
|
||||
pp::panopainter::execute_legacy_canvas_stroke_temporary_composite(
|
||||
execute_canvas_draw_merge_temporary_composite(
|
||||
[&] {
|
||||
//ShaderManager::u_vec2(kShaderUniform::Resolution, zw(m_box) / zoom);
|
||||
//ShaderManager::u_int(kShaderUniform::Lock, m_layers[layer_index]->m_alpha_locked);
|
||||
@@ -1479,7 +1495,7 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array<bool, 6> faces /*= SI
|
||||
if (b->m_pattern_flipx) patt_scale.x *= -1.f;
|
||||
if (b->m_pattern_flipy) patt_scale.y *= -1.f;
|
||||
|
||||
pp::panopainter::execute_legacy_canvas_stroke_temporary_composite(
|
||||
execute_canvas_draw_merge_temporary_composite(
|
||||
[&] {
|
||||
pp::panopainter::setup_legacy_stroke_composite_shader(
|
||||
pp::panopainter::LegacyStrokeCompositeUniforms {
|
||||
|
||||
Reference in New Issue
Block a user