Immutable validated atmospheric sky profile, schema eve.sky-profile versions 1 through 6. 更多...
#include <SkyProfile.h>
类 | |
| struct | Impl |
Public 成员函数 | |
| const SkyRuntimeSettings & | settings () const noexcept |
| Borrow runtime settings, valid for this profile's lifetime. | |
| const graphics::SkyAtmosphereParameters & | atmosphere () const noexcept |
| Borrow optical settings, valid for this profile's lifetime. | |
| std::optional< uint32_t > | proceduralSeed () const noexcept |
| Explicit procedural-v1 seed when version 6 selects a null asset; absent for loaded/legacy profiles. | |
| const std::string & | wispsAsset () const noexcept |
| Borrow optional VFS wisps manifest path; empty for versions 1/2 or explicitly selected procedural assets. | |
静态 Public 成员函数 | |
| static Result< SkyProfile > | decode (const Value &document) |
| Validate a complete profile without creating GPU resources or changing any runtime. | |
详细描述
Immutable validated atmospheric sky profile, schema eve.sky-profile versions 1 through 6.
Decode owns all data and rejects unknown/missing fields and unsupported versions/modes. Version 2 adds analytic background height fog. Version 1 is explicitly migrated with fog disabled, preserving its original linear sky output. Version 3 adds an explicit VFS wisps asset reference; earlier versions keep the layer disabled. Version 4 adds cloudMotion; versions 1 through 3 migrate with zero cloud speed, preserving frozen source phase. Version 5 adds directional fog fading. Version 6 requires an explicit uint32 proceduralSeed; null wispsAsset selects procedural-v1, while a nonempty path selects strict external loading without automatic recovery. Asset I/O occurs during preparation, after profile decode. This is not a full UDS preset or a simulation save. @thread Concurrent immutable reads are safe. No callbacks or provider pointers.
在文件 SkyProfile.h 第 29 行定义.
成员函数说明
◆ atmosphere()
|
noexcept |
Borrow optical settings, valid for this profile's lifetime.
在文件 SkyProfile.cpp 第 68 行定义.
被这些函数引用 decode().
◆ decode()
|
static |
Validate a complete profile without creating GPU resources or changing any runtime.
- 返回
- Owned immutable profile, or InvalidArgument with no observable partial import.
在文件 SkyProfile.cpp 第 72 行定义.
引用了 atmosphere(), eve::daynight::SkyTimeline::create(), eve::daynight::SkySolarOrbit::create(), error, eve::Diagnostic::error(), eve::Result< T >::failure(), fields, eve::InvalidArgument, number, p, path, seed, source, eve::Result< T >::success() , 以及 text.
◆ proceduralSeed()
|
noexcept |
Explicit procedural-v1 seed when version 6 selects a null asset; absent for loaded/legacy profiles.
在文件 SkyProfile.cpp 第 71 行定义.
◆ settings()
|
noexcept |
Borrow runtime settings, valid for this profile's lifetime.
在文件 SkyProfile.cpp 第 67 行定义.
◆ wispsAsset()
|
noexcept |
Borrow optional VFS wisps manifest path; empty for versions 1/2 or explicitly selected procedural assets.
在文件 SkyProfile.cpp 第 69 行定义.
该类的文档由以下文件生成:
- src/modules/daynight/sky/SkyProfile.h
- src/modules/daynight/sky/SkyProfile.cpp