Thin recording bridge and canvas draw seams

This commit is contained in:
2026-06-16 08:41:03 +02:00
parent 52f0d32612
commit d5b137c9ff
7 changed files with 122 additions and 93 deletions

View File

@@ -365,20 +365,6 @@ void NodeCanvas::draw()
bool draw_merged = !(m_canvas->m_current_mode == kCanvasMode::Camera);
draw_merged = false;
const auto draw_background_plane = [&](int plane_index) {
auto plane_mvp = proj * camera *
glm::scale(glm::vec3(m_canvas->m_layers.size() + 500)) *
m_canvas->m_plane_transform[plane_index] *
glm::translate(glm::vec3(0, 0, -1));
pp::panopainter::setup_legacy_canvas_draw_merge_checkerboard_shader(
pp::panopainter::LegacyCanvasDrawMergeCheckerboardUniforms {
.mvp = plane_mvp,
.colorize = false,
});
m_face_plane.draw_fill();
};
if (draw_merged)
{
pp::panopainter::execute_legacy_canvas_draw_merge_background_setup(
@@ -389,7 +375,14 @@ void NodeCanvas::draw()
.disable_blend = [&] {
apply_node_canvas_capability(pp::renderer::gl::blend_state(), false);
},
.draw_checkerboard_plane = draw_background_plane,
.draw_checkerboard_plane = pp::panopainter::make_legacy_canvas_draw_merge_background_checkerboard_plane(
proj,
camera,
m_canvas->m_layers.size() + 500.f,
m_canvas->m_plane_transform,
[&] {
m_face_plane.draw_fill();
}),
});
const auto draw_merged_texture_plane = [&](int plane_index) {
@@ -449,7 +442,14 @@ void NodeCanvas::draw()
.disable_blend = [&] {
apply_node_canvas_capability(pp::renderer::gl::blend_state(), false);
},
.draw_checkerboard_plane = draw_background_plane,
.draw_checkerboard_plane = pp::panopainter::make_legacy_canvas_draw_merge_background_checkerboard_plane(
proj,
camera,
m_canvas->m_layers.size() + 500.f,
m_canvas->m_plane_transform,
[&] {
m_face_plane.draw_fill();
}),
});
// if not using shader blend, use gl rasterizer blend