16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 15:09:19 +02:00

async mesh loading

This commit is contained in:
maj00r
2026-06-16 01:04:37 +02:00
parent 2f90246907
commit 9574d2051b
35 changed files with 3239 additions and 859 deletions

View File

@@ -10,6 +10,8 @@ http://mozilla.org/MPL/2.0/.
#include "utilities/Classes.h"
#include <memory>
class TMdlContainer {
friend class TModelsManager;
private:
@@ -24,6 +26,17 @@ public:
// McZapkie: dodalem sciezke, notabene Path!=Patch :)
static TModel3d *GetModel(std::string const &Name, bool const dynamic = false, bool const Logerrors = true , int uid = 0);
[[nodiscard]] static bool IsModelCached( std::string const &Name );
// EU7 PACK stream: CPU parse on workers, GPU Init on main thread.
[[nodiscard]] static std::pair<bool, TModel3d *>
TryGetCachedModel( std::string const &Name );
[[nodiscard]] static std::string
ResolveModelDiskPath( std::string Name );
[[nodiscard]] static std::shared_ptr<TModel3d>
LoadModelCpuDeferred( std::string const &DiskPath, bool const Dynamic = false );
[[nodiscard]] static TModel3d *
PublishLoadedModel(
std::string const &VirtualName,
std::shared_ptr<TModel3d> Model );
private:
// types: