UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition Archive.h:1208
Definition SpeedTreeWind.h:29
bool NeedsReload(void)
Definition SpeedTreeWind.h:272
ENGINE_API void SetTreeValues(const FVector &vBranchAnchor, float fMaxBranchLength)
Definition SpeedTreeWind.cpp:661
double m_fDirectionChangeEndTime
Definition SpeedTreeWind.h:309
EOptions
Definition SpeedTreeWind.h:40
@ ROLLING
Definition SpeedTreeWind.h:74
@ BRANCH_SIMPLE_1
Definition SpeedTreeWind.h:44
@ FROND_RIPPLE_ADJUST_LIGHTING
Definition SpeedTreeWind.h:72
@ NUM_WIND_OPTIONS
Definition SpeedTreeWind.h:76
@ BRANCH_OSC_COMPLEX_1
Definition SpeedTreeWind.h:49
@ BRANCH_SIMPLE_2
Definition SpeedTreeWind.h:51
@ GLOBAL_PRESERVE_SHAPE
Definition SpeedTreeWind.h:42
@ LEAF_RIPPLE_VERTEX_NORMAL_1
Definition SpeedTreeWind.h:58
@ BRANCH_TURBULENCE_2
Definition SpeedTreeWind.h:54
@ BRANCH_DIRECTIONAL_1
Definition SpeedTreeWind.h:45
@ FROND_RIPPLE_TWO_SIDED
Definition SpeedTreeWind.h:71
@ LEAF_TUMBLE_2
Definition SpeedTreeWind.h:66
@ GLOBAL_WIND
Definition SpeedTreeWind.h:41
@ LEAF_RIPPLE_VERTEX_NORMAL_2
Definition SpeedTreeWind.h:64
@ BRANCH_TURBULENCE_1
Definition SpeedTreeWind.h:47
@ BRANCH_OSC_COMPLEX_2
Definition SpeedTreeWind.h:56
@ LEAF_OCCLUSION_1
Definition SpeedTreeWind.h:62
@ LEAF_RIPPLE_COMPUTED_2
Definition SpeedTreeWind.h:65
@ LEAF_RIPPLE_COMPUTED_1
Definition SpeedTreeWind.h:59
@ FROND_RIPPLE_ONE_SIDED
Definition SpeedTreeWind.h:70
@ BRANCH_DIRECTIONAL_FROND_1
Definition SpeedTreeWind.h:46
@ BRANCH_WHIP_2
Definition SpeedTreeWind.h:55
@ LEAF_TWITCH_1
Definition SpeedTreeWind.h:61
@ LEAF_OCCLUSION_2
Definition SpeedTreeWind.h:68
@ BRANCH_WHIP_1
Definition SpeedTreeWind.h:48
@ LEAF_TUMBLE_1
Definition SpeedTreeWind.h:60
@ BRANCH_DIRECTIONAL_FROND_2
Definition SpeedTreeWind.h:53
@ LEAF_TWITCH_2
Definition SpeedTreeWind.h:67
@ BRANCH_DIRECTIONAL_2
Definition SpeedTreeWind.h:52
float m_afDirectionAtStart[3]
Definition SpeedTreeWind.h:310
float RandomFloat(float fMin, float fMax) const
Definition SpeedTreeWind.cpp:605
void SetNeedsReload(bool bReload=true)
Definition SpeedTreeWind.h:271
bool m_bNeedsReload
Definition SpeedTreeWind.h:323
float m_fCombinedStrength
Definition SpeedTreeWind.h:314
double m_fStrengthChangeStartTime
Definition SpeedTreeWind.h:302
double m_fLastTime
Definition SpeedTreeWind.h:289
ENGINE_API void SetGustFrequency(float fGustFreq)
Definition SpeedTreeWind.cpp:652
float m_fMaxBranchLevel1Length
Definition SpeedTreeWind.h:321
float m_afDirectionMidTarget[3]
Definition SpeedTreeWind.h:307
EOscillationComponents
Definition SpeedTreeWind.h:142
@ OSC_GLOBAL
Definition SpeedTreeWind.h:143
@ OSC_LEAF_2_TWITCH
Definition SpeedTreeWind.h:151
@ OSC_LEAF_2_RIPPLE
Definition SpeedTreeWind.h:149
@ OSC_BRANCH_1
Definition SpeedTreeWind.h:144
@ OSC_LEAF_1_RIPPLE
Definition SpeedTreeWind.h:146
@ OSC_BRANCH_2
Definition SpeedTreeWind.h:145
@ NUM_OSC_COMPONENTS
Definition SpeedTreeWind.h:153
@ OSC_LEAF_1_TWITCH
Definition SpeedTreeWind.h:148
@ OSC_LEAF_1_TUMBLE
Definition SpeedTreeWind.h:147
@ OSC_FROND_RIPPLE
Definition SpeedTreeWind.h:152
@ OSC_LEAF_2_TUMBLE
Definition SpeedTreeWind.h:150
double m_fStrengthChangeEndTime
Definition SpeedTreeWind.h:303
ENGINE_API void Advance(bool bEnabled, double fTime)
Definition SpeedTreeWind.cpp:157
ENGINE_API void SetOption(EOptions eOption, bool bState)
Definition SpeedTreeWind.cpp:722
bool m_abOptions[NUM_WIND_OPTIONS]
Definition SpeedTreeWind.h:318
EShaderValues
Definition SpeedTreeWind.h:81
@ SH_BRANCH_1_TWITCH
Definition SpeedTreeWind.h:92
@ SH_LEAF_2_TUMBLE_TWIST
Definition SpeedTreeWind.h:119
@ SH_GENERAL_STRENGTH
Definition SpeedTreeWind.h:83
@ SH_WIND_PACK6
Definition SpeedTreeWind.h:104
@ SH_LEAF_2_TUMBLE_TIME
Definition SpeedTreeWind.h:119
@ SH_WIND_PACK11
Definition SpeedTreeWind.h:122
@ SH_BRANCH_1_DIRECTION_ADHERENCE
Definition SpeedTreeWind.h:101
@ SH_FROND_RIPPLE_DISTANCE
Definition SpeedTreeWind.h:125
@ SH_ROLLING_NOISE_TWIST
Definition SpeedTreeWind.h:134
@ SH_BRANCH_1_TWITCH_FREQ_SCALE
Definition SpeedTreeWind.h:92
@ SH_ROLLING_NOISE_SIZE
Definition SpeedTreeWind.h:134
@ SH_BRANCH_2_DISTANCE
Definition SpeedTreeWind.h:89
@ SH_ROLLING_NOISE_PERIOD
Definition SpeedTreeWind.h:134
@ SH_WIND_PACK2
Definition SpeedTreeWind.h:98
@ SH_FROND_RIPPLE_LIGHTING_SCALAR
Definition SpeedTreeWind.h:125
@ SH_GLOBAL_HEIGHT_EXPONENT
Definition SpeedTreeWind.h:86
@ SH_FROND_RIPPLE_TILE
Definition SpeedTreeWind.h:125
@ SH_LEAF_2_TUMBLE_DIRECTION_ADHERENCE
Definition SpeedTreeWind.h:119
@ SH_GLOBAL_DIRECTION_ADHERENCE
Definition SpeedTreeWind.h:101
@ SH_ROLLING_LEAF_RIPPLE_MIN
Definition SpeedTreeWind.h:131
@ SH_WIND_PACK0
Definition SpeedTreeWind.h:95
@ SH_LEAF_1_RIPPLE_TIME
Definition SpeedTreeWind.h:107
@ SH_WIND_ANCHOR_Z
Definition SpeedTreeWind.h:98
@ SH_GLOBAL_HEIGHT
Definition SpeedTreeWind.h:86
@ SH_BRANCH_2_TWITCH_FREQ_SCALE
Definition SpeedTreeWind.h:92
@ SH_BRANCH_2_TIME
Definition SpeedTreeWind.h:89
@ SH_FROND_RIPPLE_TIME
Definition SpeedTreeWind.h:125
@ SH_BRANCH_1_TURBULENCE
Definition SpeedTreeWind.h:104
@ SH_ROLLING_BRANCH_VERTICAL_OFFSET
Definition SpeedTreeWind.h:128
@ SH_LEAF_2_TWITCH_SHARPNESS
Definition SpeedTreeWind.h:122
@ SH_WIND_PACK10
Definition SpeedTreeWind.h:116
@ SH_ROLLING_Y
Definition SpeedTreeWind.h:131
@ SH_GLOBAL_DISTANCE
Definition SpeedTreeWind.h:86
@ SH_LEAF_1_TWITCH_THROW
Definition SpeedTreeWind.h:113
@ SH_LEAF_2_TWITCH_TIME
Definition SpeedTreeWind.h:122
@ SH_ROLLING_BRANCH_FIELD_MIN
Definition SpeedTreeWind.h:128
@ SH_ROLLING_X
Definition SpeedTreeWind.h:131
@ SH_LEAF_1_TUMBLE_FLIP
Definition SpeedTreeWind.h:110
@ SH_BRANCH_2_WHIP
Definition SpeedTreeWind.h:95
@ SH_LEAF_1_RIPPLE_DISTANCE
Definition SpeedTreeWind.h:107
@ SH_WIND_DIR_X
Definition SpeedTreeWind.h:83
@ SH_WIND_DIR_Z
Definition SpeedTreeWind.h:83
@ SH_LEAF_1_LEEWARD_SCALAR
Definition SpeedTreeWind.h:107
@ SH_BRANCH_2_TWITCH
Definition SpeedTreeWind.h:92
@ SH_GLOBAL_TIME
Definition SpeedTreeWind.h:86
@ SH_WIND_PACK12
Definition SpeedTreeWind.h:128
@ SH_ROLLING_NOISE_TURBULENCE
Definition SpeedTreeWind.h:134
@ SH_LEAF_2_TWITCH_THROW
Definition SpeedTreeWind.h:122
@ SH_WIND_ANCHOR_Y
Definition SpeedTreeWind.h:98
@ SH_WIND_ANCHOR_X
Definition SpeedTreeWind.h:98
@ SH_LEAF_2_LEEWARD_SCALAR
Definition SpeedTreeWind.h:116
@ SH_BRANCH_2_TURBULENCE
Definition SpeedTreeWind.h:104
@ SH_LEAF_1_TWITCH_SHARPNESS
Definition SpeedTreeWind.h:113
@ SH_WIND_DIR_Y
Definition SpeedTreeWind.h:83
@ SH_LEAF_1_TWITCH_TIME
Definition SpeedTreeWind.h:113
@ SH_LEAF_1_TUMBLE_TIME
Definition SpeedTreeWind.h:110
@ SH_WIND_PACK5
Definition SpeedTreeWind.h:101
@ SH_BRANCH_1_DISTANCE
Definition SpeedTreeWind.h:89
@ SH_LEAF_1_TUMBLE_DIRECTION_ADHERENCE
Definition SpeedTreeWind.h:110
@ SH_LEAF_2_RIPPLE_DISTANCE
Definition SpeedTreeWind.h:116
@ SH_ROLLING_BRANCH_LIGHTING_ADJUST
Definition SpeedTreeWind.h:128
@ SH_LEAF_2_TUMBLE_FLIP
Definition SpeedTreeWind.h:119
@ SH_WIND_PACK1
Definition SpeedTreeWind.h:95
@ SH_WIND_PACK7
Definition SpeedTreeWind.h:104
@ SH_BRANCH_2_DIRECTION_ADHERENCE
Definition SpeedTreeWind.h:101
@ SH_WIND_PACK8
Definition SpeedTreeWind.h:107
@ SH_BRANCH_1_TIME
Definition SpeedTreeWind.h:89
@ SH_ROLLING_LEAF_TUMBLE_MIN
Definition SpeedTreeWind.h:131
@ SH_LEAF_1_TUMBLE_TWIST
Definition SpeedTreeWind.h:110
@ SH_BRANCH_1_WHIP
Definition SpeedTreeWind.h:95
@ SH_LEAF_2_RIPPLE_TIME
Definition SpeedTreeWind.h:116
@ NUM_SHADER_VALUES
Definition SpeedTreeWind.h:137
@ SH_WIND_PACK9
Definition SpeedTreeWind.h:113
SParams m_sParams
Definition SpeedTreeWind.h:284
float m_afDirectionTarget[3]
Definition SpeedTreeWind.h:306
float LinearSigmoid(float fInput, float fLinearness)
Converts an input value (fInput) in the range [0.0, 1.0] to an s-curve. The parameter fLinearness fla...
Definition SpeedTreeWind.cpp:615
ENGINE_API const FSpeedTreeWind::SParams & GetParams(void) const
Definition SpeedTreeWind.cpp:634
float m_afRollingOffset[2]
Definition SpeedTreeWind.h:312
float m_fStrengthAtStart
Definition SpeedTreeWind.h:304
ENGINE_API float GetMaxBranchLength(void) const
Definition SpeedTreeWind.cpp:682
float m_fStrengthTarget
Definition SpeedTreeWind.h:301
ENGINE_API void SetStrength(float fStrength)
Sets the desired strength (fStrength). The FSpeedTreeWind::Advance( ) function will make the actual s...
Definition SpeedTreeWind.cpp:435
float m_fStrength
Definition SpeedTreeWind.h:286
double m_fGustFallStart
Definition SpeedTreeWind.h:299
double m_fDirectionChangeStartTime
Definition SpeedTreeWind.h:308
friend FArchive & operator<<(FArchive &Ar, FSpeedTreeWind &Wind)
Definition SpeedTreeWind.cpp:749
double m_fGustAtStart
Definition SpeedTreeWind.h:298
ENGINE_API void SetDirection(const FVector &vDir)
Definition SpeedTreeWind.cpp:492
ENGINE_API const float * GetShaderTable(void) const
Definition SpeedTreeWind.cpp:740
ENGINE_API void SetGustMax(float InGustMax)
Definition SpeedTreeWind.cpp:525
double m_fGustFallTarget
Definition SpeedTreeWind.h:296
ENGINE_API FSpeedTreeWind()
Default constructor for FSpeedTreeWind.
Definition SpeedTreeWind.cpp:115
float m_afDirection[3]
Definition SpeedTreeWind.h:287
ENGINE_API void SetParams(const FSpeedTreeWind::SParams &sParams)
Definition SpeedTreeWind.cpp:625
MS_ALIGN(16) float m_afShaderTable[NUM_SHADER_VALUES *2] GCC_ALIGN(16)
ENGINE_API void EnableGusting(bool bEnabled)
Definition SpeedTreeWind.cpp:643
void Normalize(float *pVector)
Normalizes the the incoming vector (pVector).
Definition SpeedTreeWind.cpp:692
double m_fGustRiseTarget
Definition SpeedTreeWind.h:295
float m_afBranchWindAnchor[3]
Definition SpeedTreeWind.h:320
float m_fGust
Definition SpeedTreeWind.h:293
double m_fGustTarget
Definition SpeedTreeWind.h:294
float Interpolate(float fA, float fB, float fAmt)
Definition SpeedTreeWind.cpp:713
Constants
Definition SpeedTreeWind.h:32
@ NUM_LEAF_GROUPS
Definition SpeedTreeWind.h:35
@ NUM_WIND_POINTS_IN_CURVE
Definition SpeedTreeWind.h:33
@ NUM_BRANCH_LEVELS
Definition SpeedTreeWind.h:34
ENGINE_API void SetGustMin(float InGustMin)
Definition SpeedTreeWind.cpp:520
ENGINE_API void SetInitDirection(const FVector &vDir)
Definition SpeedTreeWind.cpp:534
double m_fElapsedTime
Definition SpeedTreeWind.h:290
bool m_bGustingEnabled
Definition SpeedTreeWind.h:292
void ComputeWindAnchor(float *pPos)
Computes the wind anchor position based on current wind conditions.
Definition SpeedTreeWind.cpp:591
double m_fGustStart
Definition SpeedTreeWind.h:297
void Gust(double fTime)
Advances the gust parameter and randomly gusts if it can (e.g., the gust is not dying off or rising) ...
Definition SpeedTreeWind.cpp:546
float m_afOscillationTimes[NUM_OSC_COMPONENTS]
Definition SpeedTreeWind.h:316
ENGINE_API const float * GetBranchAnchor(void) const
Definition SpeedTreeWind.cpp:673
ENGINE_API bool IsOptionEnabled(EOptions eOption) const
Definition SpeedTreeWind.cpp:731
Definition SpeedTreeWind.h:157
float m_fTwitchFreqScale
Definition SpeedTreeWind.h:165
float m_fTwitch
Definition SpeedTreeWind.h:164
ENGINE_API SBranchWindLevel()
Definition SpeedTreeWind.cpp:32
float m_afDirectionAdherence[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:161
float m_afDistance[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:160
float m_fTurbulence
Definition SpeedTreeWind.h:163
float m_afWhip[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:162
Definition SpeedTreeWind.h:186
SWindGroup m_asLeaf[NUM_LEAF_GROUPS]
Definition SpeedTreeWind.h:209
float m_fRollingNoiseTwist
Definition SpeedTreeWind.h:218
float m_fRollingLeafRippleMin
Definition SpeedTreeWind.h:226
float m_fRollingNoiseTurbulence
Definition SpeedTreeWind.h:219
float m_fGustFallScalar
Definition SpeedTreeWind.h:236
float m_fRollingNoiseSpeed
Definition SpeedTreeWind.h:221
float m_fRollingNoisePeriod
Definition SpeedTreeWind.h:220
float m_afGlobalDirectionAdherence[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:203
float m_fGustDurationMin
Definition SpeedTreeWind.h:233
float m_fGustDurationMax
Definition SpeedTreeWind.h:234
float m_fAnchorOffset
Definition SpeedTreeWind.h:193
float m_afFrequencies[NUM_OSC_COMPONENTS][NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:197
float m_fGlobalHeight
Definition SpeedTreeWind.h:200
float m_fGustStrengthMin
Definition SpeedTreeWind.h:231
float m_fStrengthResponse
Definition SpeedTreeWind.h:190
float m_fFrondRippleTile
Definition SpeedTreeWind.h:213
float m_afGlobalDistance[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:202
float m_fGustStrengthMax
Definition SpeedTreeWind.h:232
float m_fDirectionResponse
Definition SpeedTreeWind.h:191
ENGINE_API SParams()
Definition SpeedTreeWind.cpp:71
float m_afFrondRippleDistance[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:212
float m_fRollingBranchVerticalOffset
Definition SpeedTreeWind.h:225
float m_fRollingBranchLightingAdjust
Definition SpeedTreeWind.h:224
float m_fGlobalHeightExponent
Definition SpeedTreeWind.h:201
float m_fGustRiseScalar
Definition SpeedTreeWind.h:235
float m_fAnchorDistanceScale
Definition SpeedTreeWind.h:194
float m_fRollingBranchFieldMin
Definition SpeedTreeWind.h:223
float m_fGustFrequency
Definition SpeedTreeWind.h:230
float m_fFrondRippleLightingScalar
Definition SpeedTreeWind.h:214
SBranchWindLevel m_asBranch[NUM_BRANCH_LEVELS]
Definition SpeedTreeWind.h:206
float m_fRollingNoiseSize
Definition SpeedTreeWind.h:217
float m_fRollingLeafTumbleMin
Definition SpeedTreeWind.h:227
Definition SpeedTreeWind.h:169
float m_fTwitchSharpness
Definition SpeedTreeWind.h:177
float m_fRollMinScale
Definition SpeedTreeWind.h:179
float m_afTumbleFlip[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:173
float m_afRippleDistance[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:172
float m_afTumbleDirectionAdherence[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:175
float m_fRollMaxScale
Definition SpeedTreeWind.h:178
float m_fRollSpeed
Definition SpeedTreeWind.h:180
float m_afTwitchThrow[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:176
ENGINE_API SWindGroup()
Definition SpeedTreeWind.cpp:49
float m_fLeewardScalar
Definition SpeedTreeWind.h:182
float m_fRollSeparation
Definition SpeedTreeWind.h:181
float m_afTumbleTwist[NUM_WIND_POINTS_IN_CURVE]
Definition SpeedTreeWind.h:174