Route texture alpha setup through helper

This commit is contained in:
2026-06-13 05:48:47 +02:00
parent 14ea181ec3
commit 5ab06a42e3
6 changed files with 70 additions and 24 deletions

View File

@@ -1393,11 +1393,13 @@ void Canvas::draw_merge(bool draw_checkerboard, std::array<bool, 6> faces /*= SI
else
{
m_cam_fov < 20.f ? m_sampler_nearest.bind(0) : m_sampler.bind(0);
ShaderManager::use(kShader::TextureAlpha);
ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_float(kShaderUniform::Alpha, m_layers[layer_index]->m_opacity);
ShaderManager::u_int(kShaderUniform::Highlight, m_layers[layer_index]->m_hightlight);
ShaderManager::u_mat4(kShaderUniform::MVP, ortho);
pp::panopainter::setup_legacy_canvas_draw_merge_texture_alpha_shader(
pp::panopainter::LegacyCanvasDrawMergeTextureAlphaUniforms {
.mvp = ortho,
.texture_slot = 0,
.alpha = m_layers[layer_index]->m_opacity,
.highlight = m_layers[layer_index]->m_hightlight,
});
set_active_texture_unit(0);
m_layers[layer_index]->rtt(plane_index).bindTexture();
@@ -2216,11 +2218,13 @@ void Canvas::export_depth_thread(std::string file_name)
glm::scale(glm::vec3(2));
m_sampler.bind(0);
ShaderManager::use(kShader::TextureAlpha);
ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_float(kShaderUniform::Alpha, 1.f);
ShaderManager::u_int(kShaderUniform::Highlight, false);
ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp_z);
pp::panopainter::setup_legacy_canvas_draw_merge_texture_alpha_shader(
pp::panopainter::LegacyCanvasDrawMergeTextureAlphaUniforms {
.mvp = plane_mvp_z,
.texture_slot = 0,
.alpha = 1.f,
.highlight = false,
});
set_active_texture_unit(0);
m_layers_merge.rtt(plane_index).bindTexture();