载入中...
搜索中...
未找到
EvpackSceneTemplateLoader.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
7#include "scene/NodeDesc.h"
8
9namespace eve::asset_scene {
10
13 std::uint32_t maximumNodes = 1'000'000;
14 std::uint32_t maximumDepth = 4096;
15 std::uint64_t maximumDecodedBytes = 256ull * 1024ull * 1024ull;
16};
17
27
36
39public:
43 : reader_(reader) {}
44
50 [[nodiscard]] Result<LoadedSceneTemplate> load(
51 const AssetRef& sceneTemplate, const asset::EvpackCapabilities& capabilities,
52 const SceneTemplateLoadLimits& limits = {}) const;
53
54private:
55 const asset::EvpackResourceReader& reader_;
56};
57
58} // namespace eve::asset_scene
Typed capability-aware runtime access to admitted packs.
#define EVENGINE_API_BACKENDS
Definition Export.h:108
const AssetImportLimits & limits
Stable asset identity backed by PersistentId.
Definition ResourceRef.h:53
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Immutable reader retaining an admitted pack by shared ownership.
Capability-aware scene-template/3 decoder with explicit scene-template/2 compatibility.
EvpackSceneTemplateLoader(const asset::EvpackResourceReader &reader) noexcept
Bind a borrowed immutable reader that must outlive this loader.
Id128 public API.
Definition Identity.h:112
Actual runtime device capabilities used for variant selection.
Definition Evpack.h:92
Result of ordered capability variant selection.
Definition Evpack.h:155
Owning declarative scene tree and render bindings; neither mutates a Scene or retains GPU objects.
std::vector< SceneMeshBinding > renderers
Immutable asset identities associated with a persisted scene node; no runtime objects are retained.
Bounds for untrusted scene-template metadata.
Declarative scene-node description (build once / on dirty → flatten into SceneHost::Tree)....
Definition NodeDesc.h:19