Harden runtime flags and thin Apple/canvas seams
This commit is contained in:
@@ -738,27 +738,32 @@ void NodeCanvas::draw()
|
||||
m_canvas->modes[(int)kCanvasMode::MaskLine][0]->on_Draw(ortho_proj, proj, camera);
|
||||
},
|
||||
.draw_smask_faces = [&] {
|
||||
pp::panopainter::setup_legacy_canvas_draw_merge_texture_mask_shader(
|
||||
pp::panopainter::execute_legacy_canvas_draw_merge_smask_faces(
|
||||
pp::panopainter::LegacyCanvasDrawMergeTextureMaskUniforms {
|
||||
.texture_slot = 0,
|
||||
.pattern_offset = m_outline_pan,
|
||||
},
|
||||
proj,
|
||||
camera,
|
||||
m_canvas->m_layers.size() + 500.f,
|
||||
m_canvas->m_plane_transform,
|
||||
{
|
||||
.set_active_texture_unit = [&] {
|
||||
set_active_texture_unit(0);
|
||||
},
|
||||
.enable_blend = [&] {
|
||||
apply_node_canvas_capability(pp::renderer::gl::blend_state(), true);
|
||||
},
|
||||
.bind_face_texture = [&](int plane_index) {
|
||||
m_canvas->m_smask.rtt(plane_index).bindTexture();
|
||||
},
|
||||
.draw_face = [&] {
|
||||
m_face_plane.draw_fill();
|
||||
},
|
||||
.unbind_face_texture = [&](int plane_index) {
|
||||
m_canvas->m_smask.rtt(plane_index).unbindTexture();
|
||||
},
|
||||
});
|
||||
set_active_texture_unit(0);
|
||||
apply_node_canvas_capability(pp::renderer::gl::blend_state(), true);
|
||||
|
||||
//draw the cube faces
|
||||
for (int plane_index = 0; plane_index < 6; plane_index++)
|
||||
{
|
||||
auto plane_mvp = proj * camera *
|
||||
glm::scale(glm::vec3(m_canvas->m_layers.size() + 500.f)) *
|
||||
m_canvas->m_plane_transform[plane_index] *
|
||||
glm::translate(glm::vec3(0, 0, -1.f));
|
||||
|
||||
pp::panopainter::apply_legacy_canvas_draw_merge_mvp(plane_mvp);
|
||||
m_canvas->m_smask.rtt(plane_index).bindTexture();
|
||||
m_face_plane.draw_fill();
|
||||
m_canvas->m_smask.rtt(plane_index).unbindTexture();
|
||||
}
|
||||
},
|
||||
.draw_grid_modes = [&] {
|
||||
for (auto& mode : Canvas::modes[(int)kCanvasMode::Grid])
|
||||
|
||||
Reference in New Issue
Block a user