载入中...
搜索中...
未找到
VegetationWind.h
浏览该文件的文档.
1#pragma once
2#include <array>
3#include <glm/glm.hpp>
4#include "common/Result.h"
5namespace eve::graphics {
8 glm::vec3 direction{0};
9 float strength = 0;
11 float phase = 0;
13 float updatePhase = 0;
14};
15
19 float anchorVolume = 0;
20 float volume = 0;
21 bool processing = false;
22 bool playing = false;
23};
24
40 float windStrength, float transitionTime,
41 float dt, bool enabled, bool clipAvailable);
47 glm::vec3 flex{0.8F, 1.15F, 0.1F}, frequency{0.25F, 0.5F, 1.3F};
48 float maximumDistance = 100;
49 bool enabled = false, billboard = false, alphaTest = true;
50};
61 const VegetationWindState& state, const VegetationWindProfile& profile, double seconds);
64 glm::vec3 position{0}, worldOffset{0}, cameraPosition{0};
65 glm::mat3 objectToWorld{1};
66 glm::vec2 widthHeight{1};
67 glm::vec3 flex{0.8F, 1.15F, 0.1F}, frequency{0.25F, 0.5F, 1.3F};
68 float maximumDistance = 100;
71 bool enabled = true, billboard = false, alphaTest = true;
72};
87 float strength);
96 float strength, float dt);
105 const VegetationWindState& state);
106} // namespace eve::graphics
EvpackChunkInput input
Definition Evpack.cpp:170
#define EVENGINE_API_BACKENDS
Definition Export.h:108
float windStrength
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
Result< std::array< float, 14 > > packVegetationWind(const VegetationWindState &state, const VegetationWindProfile &profile, double seconds)
Pack a wind snapshot into the grass shader's final 14 float slots.
Result< void > advanceVegetationWind(VegetationWindState &state, glm::vec3 forward, float strength, float dt)
Advance source WindManager smoothing and phase using explicit nonnegative dt. Direction Y follows -ma...
Result< void > initializeVegetationWind(VegetationWindState &state, glm::vec3 forward, float strength)
Apply Pcg WindManager.InstantWindApply semantics without smoothing.
Result< glm::vec3 > evaluateVegetationWind(const VegetationWindInput &in, const VegetationWindState &state)
Evaluate the source main/branch/leaf deformation for one vertex without mutation. Requires finite inp...
Result< void > advanceVegetationWindAudio(VegetationWindAudioState &state, float windStrength, float transitionTime, float dt, bool enabled, bool clipAvailable)
Advance Pcg WindManager CheckWindVolume and ProcessWindAudio as a pure state transition.
bool enabled
Caller-owned state for Pcg WindManager's looping wind-audio volume controller.
Explicit source PW_GeneralWind inputs in object/world coordinates.
float sinTimeQuarter
Inject Unity-equivalent sin(time/4) and sin(time) values.
Caller-owned material wind controls; billboard suppresses source branch and leaf motion....
Caller-owned wind globals; no hidden clock, singleton or retained scene link.
float updatePhase
WindManager's private update accumulator; InstantWindApply deliberately preserves it.
float phase
Phase currently published to shaders.