Extract preview main pass texture dispatch

This commit is contained in:
2026-06-13 18:34:45 +02:00
parent 547a660412
commit 3a7151ae7f
4 changed files with 121 additions and 18 deletions

View File

@@ -244,24 +244,29 @@ void bind_stroke_preview_main_pass_textures(
bool copy_stroke_destination,
bool uses_mixer)
{
set_active_texture_unit(stroke_preview_live_slots::kTip);
brush.m_tip_texture ?
brush.m_tip_texture->bind() :
unbind_texture_2d();
if (copy_stroke_destination)
{
set_active_texture_unit(stroke_preview_live_slots::kDestination);
stroke_destination_texture.bind();
}
set_active_texture_unit(stroke_preview_live_slots::kPattern);
brush.m_pattern_texture ?
brush.m_pattern_texture->bind() :
unbind_texture_2d();
set_active_texture_unit(stroke_preview_live_slots::kMixer);
uses_mixer ? mixer_rtt.bindTexture() : unbind_texture_2d();
pp::panopainter::bind_legacy_node_stroke_preview_main_pass_textures(
pp::panopainter::make_legacy_node_stroke_preview_main_pass_texture_dispatch(
[&](int texture_slot) {
set_active_texture_unit(texture_slot);
},
[&] {
brush.m_tip_texture ?
brush.m_tip_texture->bind() :
unbind_texture_2d();
},
[&] {
stroke_destination_texture.bind();
},
[&] {
brush.m_pattern_texture ?
brush.m_pattern_texture->bind() :
unbind_texture_2d();
},
[&] {
mixer_rtt.bindTexture();
}),
copy_stroke_destination,
uses_mixer);
}
void bind_stroke_preview_destination_texture(Texture2D& texture)