Thin brush panel, preview, and node utility shells
This commit is contained in:
@@ -109,29 +109,11 @@ void NodeStrokePreview::draw_stroke_immediate()
|
||||
{
|
||||
if (m_size.x == 0 || m_size.y == 0)
|
||||
return;
|
||||
|
||||
if (!pp::panopainter::ensure_legacy_node_stroke_preview_render_targets(
|
||||
pp::panopainter::LegacyNodeStrokePreviewRenderTargetSetup {
|
||||
.preview_rtt = m_rtt,
|
||||
.preview_rtt_mixer = m_rtt_mixer,
|
||||
.preview_stroke_texture = m_tex,
|
||||
.preview_dual_texture = m_tex_dual,
|
||||
.preview_background_texture = m_tex_background,
|
||||
.preview_image_texture = m_tex_preview,
|
||||
.size = m_preview_size,
|
||||
})) {
|
||||
return;
|
||||
}
|
||||
|
||||
const auto vp = pp::panopainter::query_legacy_node_stroke_preview_viewport();
|
||||
const auto cc = pp::panopainter::query_legacy_node_stroke_preview_clear_color();
|
||||
const glm::vec2 size = { m_rtt.getWidth(), m_rtt.getHeight() };
|
||||
const float zoom = root()->m_zoom;
|
||||
const bool sequence_ok = pp::panopainter::execute_legacy_node_stroke_preview_immediate_runtime(
|
||||
pp::panopainter::LegacyNodeStrokePreviewImmediateRuntimeRequest {
|
||||
const bool sequence_ok = pp::panopainter::execute_legacy_node_stroke_preview_immediate_draw(
|
||||
pp::panopainter::LegacyNodeStrokePreviewImmediateDrawRequest {
|
||||
.brush = m_brush,
|
||||
.preview_size = m_size,
|
||||
.zoom = zoom,
|
||||
.zoom = root()->m_zoom,
|
||||
.min_flow = m_min_flow,
|
||||
.stroke_max_size_override = m_max_size,
|
||||
.pad_override = m_pad_override,
|
||||
@@ -158,26 +140,6 @@ void NodeStrokePreview::draw_stroke_immediate()
|
||||
.finish_render_target = [&] {
|
||||
m_rtt.unbindFramebuffer();
|
||||
},
|
||||
.set_blend_enabled = [&](bool enabled) {
|
||||
pp::panopainter::apply_legacy_node_stroke_preview_capability(pp::renderer::gl::blend_state(), enabled);
|
||||
},
|
||||
.setup_stroke_shader = [](const pp::panopainter::LegacyStrokeShaderSetupUniforms& uniforms) {
|
||||
pp::panopainter::setup_legacy_stroke_shader(uniforms);
|
||||
},
|
||||
.bind_dual_pass_textures = [](const Brush& dual_brush) {
|
||||
pp::panopainter::bind_legacy_node_stroke_preview_dual_pass_textures(dual_brush);
|
||||
},
|
||||
.capture_background = [&](bool colorize) {
|
||||
pp::panopainter::execute_legacy_node_stroke_preview_background_capture_pass(
|
||||
pp::panopainter::LegacyNodeStrokePreviewBackgroundCaptureRequest {
|
||||
.size = size,
|
||||
.colorize = colorize,
|
||||
.background_texture = m_tex_background,
|
||||
.draw_checkerboard = [&] {
|
||||
m_plane.draw_fill();
|
||||
},
|
||||
});
|
||||
},
|
||||
.compute_frames = [&](const Stroke& stroke, float frame_zoom) {
|
||||
return stroke_draw_compute(stroke, frame_zoom);
|
||||
},
|
||||
@@ -187,18 +149,12 @@ void NodeStrokePreview::draw_stroke_immediate()
|
||||
.draw_mix = [&](const glm::vec2& bb_min, const glm::vec2& bb_sz) {
|
||||
stroke_draw_mix(bb_min, bb_sz);
|
||||
},
|
||||
.unbind_mixer_texture = [&] {
|
||||
pp::panopainter::unbind_legacy_node_stroke_preview_mixer_texture(m_rtt_mixer);
|
||||
},
|
||||
.bind_pattern_texture = [&] {
|
||||
pp::panopainter::bind_legacy_node_stroke_preview_pattern_texture(*m_brush);
|
||||
.draw_checkerboard = [&] {
|
||||
m_plane.draw_fill();
|
||||
},
|
||||
.draw_composite = [&] {
|
||||
m_plane.draw_fill();
|
||||
},
|
||||
});
|
||||
assert(sequence_ok);
|
||||
|
||||
pp::panopainter::apply_legacy_node_stroke_preview_viewport(vp.x, vp.y, vp.width, vp.height);
|
||||
pp::panopainter::apply_legacy_node_stroke_preview_clear_color(cc);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user