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

@@ -16,6 +16,13 @@ struct LegacyCanvasDrawMergeTextureUniforms {
int texture_slot = 0;
};
struct LegacyCanvasDrawMergeTextureAlphaUniforms {
glm::mat4 mvp { 1.0f };
int texture_slot = 0;
float alpha = 1.0f;
int highlight = 0;
};
struct LegacyCanvasDrawMergeTextureBlendUniforms {
glm::mat4 mvp { 1.0f };
int texture_slot = 0;
@@ -72,6 +79,23 @@ inline void setup_legacy_canvas_draw_merge_texture_shader(
setup_legacy_canvas_draw_merge_texture_shader(uniforms, legacy_shader_manager_draw_merge_execution());
}
inline void setup_legacy_canvas_draw_merge_texture_alpha_shader(
const LegacyCanvasDrawMergeTextureAlphaUniforms& uniforms,
const LegacyCanvasDrawMergeShaderExecution& execution) noexcept
{
execution.use_shader(kShader::TextureAlpha);
execution.set_int(kShaderUniform::Tex, uniforms.texture_slot);
execution.set_float(kShaderUniform::Alpha, uniforms.alpha);
execution.set_int(kShaderUniform::Highlight, uniforms.highlight);
execution.set_mat4(kShaderUniform::MVP, uniforms.mvp);
}
inline void setup_legacy_canvas_draw_merge_texture_alpha_shader(
const LegacyCanvasDrawMergeTextureAlphaUniforms& uniforms)
{
setup_legacy_canvas_draw_merge_texture_alpha_shader(uniforms, legacy_shader_manager_draw_merge_execution());
}
inline void setup_legacy_canvas_draw_merge_texture_blend_shader(
const LegacyCanvasDrawMergeTextureBlendUniforms& uniforms,
const LegacyCanvasDrawMergeShaderExecution& execution) noexcept