Route object composite texture setup through helper

This commit is contained in:
2026-06-13 05:31:46 +02:00
parent b98635a8bb
commit ed05ba453e
3 changed files with 13 additions and 3 deletions

View File

@@ -18,6 +18,10 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::draw_objects` retained
object composite `Texture` shader setup now routes through
`legacy_canvas_draw_merge_services.h`; draw_objects still owns temporary
face readback, sampler/texture binding, draw execution, and dirty-box updates.
- 2026-06-13: DEBT-0036 was narrowed again. `Canvas::thumbnail_generate`
thumbnail layer `TextureBlend` shader setup now routes through
`legacy_canvas_draw_merge_services.h`; thumbnail generation still owns

View File

@@ -3021,6 +3021,10 @@ Results:
stroke composite shader setup helper, while render-task ordering, framebuffer
copy bounds, sampler/texture binding, and draw execution remain in retained
canvas-mode code.
- `Canvas::draw_objects` retained object compositing now shares the retained
draw-merge texture shader setup helper, while temporary face readback,
sampler/texture binding, draw execution, and dirty-box updates remain in
retained Canvas code.
- Desktop VR checkerboard background drawing now shares the retained draw-merge
shader setup helper, while render state transitions, per-plane transforms,
and draw execution remain in retained VR code.

View File

@@ -3199,9 +3199,11 @@ void Canvas::draw_objects(std::function<void(const glm::mat4& camera, const glm:
// draw the tmp layer into the actual layer
if (has_data)
{
ShaderManager::use(kShader::Texture);
ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-0.5f, 0.5f, -0.5f, 0.5f));
pp::panopainter::setup_legacy_canvas_draw_merge_texture_shader(
pp::panopainter::LegacyCanvasDrawMergeTextureUniforms {
.mvp = glm::ortho(-0.5f, 0.5f, -0.5f, 0.5f),
.texture_slot = 0,
});
set_active_texture_unit(0);
m_sampler_nearest.bind(0);
rtt.bindTexture();