载入中...
搜索中...
未找到
eve::daynight::SkyProfile类 参考

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()

const graphics::SkyAtmosphereParameters & eve::daynight::SkyProfile::atmosphere ( ) const
noexcept

Borrow optical settings, valid for this profile's lifetime.

在文件 SkyProfile.cpp 第 68 行定义.

被这些函数引用 decode().

◆ decode()

Result< SkyProfile > eve::daynight::SkyProfile::decode ( const Value &  document)
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.

被这些函数引用 eve::daynight::exposeSkyScriptBindings().

◆ proceduralSeed()

std::optional< uint32_t > eve::daynight::SkyProfile::proceduralSeed ( ) const
noexcept

Explicit procedural-v1 seed when version 6 selects a null asset; absent for loaded/legacy profiles.

在文件 SkyProfile.cpp 第 71 行定义.

◆ settings()

const SkyRuntimeSettings & eve::daynight::SkyProfile::settings ( ) const
noexcept

Borrow runtime settings, valid for this profile's lifetime.

在文件 SkyProfile.cpp 第 67 行定义.

◆ wispsAsset()

const std::string & eve::daynight::SkyProfile::wispsAsset ( ) const
noexcept

Borrow optional VFS wisps manifest path; empty for versions 1/2 or explicitly selected procedural assets.

在文件 SkyProfile.cpp 第 69 行定义.


该类的文档由以下文件生成: