#pragma once #include #include #include #include #include "gfx/uniform_parser.h" namespace fn::gfx { struct UniformStore { std::unordered_map> values; }; // Mantiene el store sincronizado con los descriptores actuales. void uniforms_sync(UniformStore& store, const std::vector& descs); // Renderiza widgets ImGui en el panel actual (llamar entre Begin/End). void uniforms_panel(UniformStore& store, const std::vector& descs); // Llama glUniform* sobre el programa GL activo (el caller debe haber llamado glUseProgram). void uniforms_apply(const UniformStore& store, const std::vector& descs, unsigned int program); } // namespace fn::gfx