载入中...
搜索中...
未找到
SkyWispsLayer.h
浏览该文件的文档.
1#pragma once
2#include <array>
3#include <span>
4#include "common/Export.h"
5#include "common/Result.h"
6
7namespace eve::graphics {
8struct ShaderImageInput;
16 std::array<float, 4> rayDay{.168627f, .407843f, 1, .04f}, rayDusk{.17f, .409234f, 1, 0},
17 rayNight{.241211f, .347328f, .609375f, 0};
18 std::array<float, 4> absorptionDay{.198069f, .095307f, 1, .002f}, absorptionNight{.030354f, .181178f, 1, .004f};
19 std::array<std::array<float, 4>, 21> scatteringCurve{};
20 std::array<float, 4> sun{1, 1, 1, 5}, moon{.445801f, .557475f, .864583f, .15f};
21 std::array<float, 4> moonOrbit{35, 0, .04f, 0};
22 std::array<float, 4> dayTint{.476966f, .473985f, .526042f, 1};
23 std::array<float, 4> duskTint{1, .587119f, .395833f, 1};
24 std::array<float, 4> nightTint{.367187f, .428386f, .489583f, 1};
25 std::array<float, 4> glow{.093045f, .141694f, .255208f, .6f};
27 std::array<float, 4> controls{1, 2, 1, 1};
29 std::array<float, 4> stars{.484375f, .639062f, 1, .75f};
31 std::array<float, 4> starUv{2.5f, 5, 0, 0};
33 std::array<float, 4> twinkle{.7f, 1.5f, 2, 0};
35 std::array<float, 4> moonDiskColor{.486328f, .574971f, .864583f, 0};
37 std::array<float, 4> moonDiskShape{.033161256f, 1, 0, .005f};
41 std::array<float, 4> moonDiskLighting{.3f, .6f, 0, 1.6f};
43 std::array<float, 4> moonDiskGlow{.05f, .20212766f, 0, 0};
45 [[nodiscard]] EVENGINE_API_BACKENDS Result<void> validate() const;
46};
55 bool daylightEnabled = false;
57 bool opticalCycleEnabled = false;
69 std::array<std::array<float, 4>, 12> sunDiskCurve{};
70 bool sunDiskCurveEnabled = false;
72 std::array<float, 3> sunDiskColor{0, 0, 0};
74 std::array<float, 3> sunDiskShape{.021380283f, 3.f, 0.f};
76 std::array<float, 3> materialContrast{0, 1, 1};
78 bool authoredSkyLighting = false;
79 std::span<const float> corners;
81 float domeScale = 5000;
82 std::array<float, 3> color{.355900f, .399502f, .469850f};
83 std::array<float, 4> gradient{.5f, 0, -.866025f, 5};
84 std::array<float, 2> movement{-1, 0};
85 std::array<float, 3> moonForward{0, 0, 1};
86 float morphRate = 1, morphPeriod = 10, morphAmount = .4f;
87 float opacity = .2f, litIntensity = .8f;
88 float cloudTime = 0;
89 bool moonGradient = true, staticClouds = false;
90};
91} // namespace eve::graphics
#define EVENGINE_API_BACKENDS
Definition Export.h:108
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Synchronous borrowed input for one immutable shader image. @ownership The caller owns bytes; upload c...
Immutable clear-sky daylight material controls, copied during sky preparation.
std::array< float, 4 > starUv
Tiling, per-day UV movement, rotation in turns and fixed star phase.
std::array< std::array< float, 4 >, 21 > scatteringCurve
EVENGINE_API_BACKENDS Result< void > validate() const
Reject nonfinite, out-of-range or unordered authored data without mutation.
std::array< float, 4 > glow
std::array< float, 4 > moon
std::array< float, 4 > rayNight
std::array< float, 4 > moonDiskShape
UV diameter in radians, horizon enlargement, texture rotation degrees and earthlight.
std::array< float, 4 > absorptionDay
std::array< float, 4 > nightTint
std::array< float, 4 > dayTint
std::array< float, 4 > duskTint
std::array< float, 4 > moonDiskColor
Linear lunar surface tint; w enables the disk (0 or 1), disabled in legacy assets.
std::array< float, 4 > moonDiskLighting
Night/day texture intensity, fixed lunar phase days [0,29.53], phase contrast.
std::array< float, 4 > rayDusk
std::array< float, 4 > moonOrbit
std::array< float, 4 > absorptionNight
std::array< float, 4 > stars
Linear star tint and source intensity, before the night filter.
std::array< float, 4 > controls
Night brightness, absent-light boost, illuminated moon fraction and overall intensity.
std::array< float, 4 > moonDiskGlow
Glow intensity, angular projection scale and two reserved zeros.
std::array< float, 4 > rayDay
Source clear-sky optical tints; rayDay.w is scattering scale, absorption w is its scale.
std::array< float, 4 > sun
std::array< float, 4 > twinkle
Noise floor/strength, glow reflection scale and reserved zero. Twinkle time is frozen.
Borrowed authored thin-cloud layer, consumed synchronously by sky preparation.
std::array< float, 2 > movement
std::array< float, 3 > sunDiskColor
Solar disk RGB radiance; zero disables it. Copied at preparation, independent of light irradiance.
std::array< float, 4 > gradient
bool authoredSkyLighting
Apply authored sun/moon intensity gradients to the physical sky before composition.
bool opticalCycleEnabled
Opt-in source optical cycle, prepared as an immutable height-sampled LUT volume.
bool daylightEnabled
Opt-in daylight chain. Disabled for legacy manifests; no independent time source.
std::span< const float > corners
const ShaderImageInput * starsTexture
Optional star/noise uploads, borrowed through preparation only; required by daylightEnabled.
const ShaderImageInput * moonNormalTexture
std::array< float, 3 > moonForward
std::array< float, 3 > sunDiskShape
Angular radius in radians, positive edge exponent and nonnegative reflection multiplier.
const ShaderImageInput * moonColorTexture
Lunar color/alpha and phase-normal uploads; borrowed only until prepare returns. Required when daylig...
std::array< std::array< float, 4 >, 12 > sunDiskCurve
Optional RGB elevation curves: four (height,value,arrive tangent,leave tangent) keys per channel....
const ShaderImageInput * densityTexture
const ShaderImageInput * starsNoiseTexture
std::array< float, 3 > materialContrast
Parent material contrast, midpoint and intensity, applied after sky/cloud composition.
std::array< float, 3 > color