#include <SpeedTreeWind.h>
|
| enum | Constants { NUM_WIND_POINTS_IN_CURVE = 10
, NUM_BRANCH_LEVELS = 2
, NUM_LEAF_GROUPS = 2
} |
| |
| enum | EOptions {
GLOBAL_WIND
, GLOBAL_PRESERVE_SHAPE
, BRANCH_SIMPLE_1
, BRANCH_DIRECTIONAL_1
,
BRANCH_DIRECTIONAL_FROND_1
, BRANCH_TURBULENCE_1
, BRANCH_WHIP_1
, BRANCH_OSC_COMPLEX_1
,
BRANCH_SIMPLE_2
, BRANCH_DIRECTIONAL_2
, BRANCH_DIRECTIONAL_FROND_2
, BRANCH_TURBULENCE_2
,
BRANCH_WHIP_2
, BRANCH_OSC_COMPLEX_2
, LEAF_RIPPLE_VERTEX_NORMAL_1
, LEAF_RIPPLE_COMPUTED_1
,
LEAF_TUMBLE_1
, LEAF_TWITCH_1
, LEAF_OCCLUSION_1
, LEAF_RIPPLE_VERTEX_NORMAL_2
,
LEAF_RIPPLE_COMPUTED_2
, LEAF_TUMBLE_2
, LEAF_TWITCH_2
, LEAF_OCCLUSION_2
,
FROND_RIPPLE_ONE_SIDED
, FROND_RIPPLE_TWO_SIDED
, FROND_RIPPLE_ADJUST_LIGHTING
, ROLLING
,
NUM_WIND_OPTIONS
} |
| |
| enum | EShaderValues {
SH_WIND_DIR_X
, SH_WIND_DIR_Y
, SH_WIND_DIR_Z
, SH_GENERAL_STRENGTH
,
SH_GLOBAL_TIME
, SH_GLOBAL_DISTANCE
, SH_GLOBAL_HEIGHT
, SH_GLOBAL_HEIGHT_EXPONENT
,
SH_BRANCH_1_TIME
, SH_BRANCH_1_DISTANCE
, SH_BRANCH_2_TIME
, SH_BRANCH_2_DISTANCE
,
SH_BRANCH_1_TWITCH
, SH_BRANCH_1_TWITCH_FREQ_SCALE
, SH_BRANCH_2_TWITCH
, SH_BRANCH_2_TWITCH_FREQ_SCALE
,
SH_BRANCH_1_WHIP
, SH_BRANCH_2_WHIP
, SH_WIND_PACK0
, SH_WIND_PACK1
,
SH_WIND_ANCHOR_X
, SH_WIND_ANCHOR_Y
, SH_WIND_ANCHOR_Z
, SH_WIND_PACK2
,
SH_GLOBAL_DIRECTION_ADHERENCE
, SH_BRANCH_1_DIRECTION_ADHERENCE
, SH_BRANCH_2_DIRECTION_ADHERENCE
, SH_WIND_PACK5
,
SH_BRANCH_1_TURBULENCE
, SH_BRANCH_2_TURBULENCE
, SH_WIND_PACK6
, SH_WIND_PACK7
,
SH_LEAF_1_RIPPLE_TIME
, SH_LEAF_1_RIPPLE_DISTANCE
, SH_LEAF_1_LEEWARD_SCALAR
, SH_WIND_PACK8
,
SH_LEAF_1_TUMBLE_TIME
, SH_LEAF_1_TUMBLE_FLIP
, SH_LEAF_1_TUMBLE_TWIST
, SH_LEAF_1_TUMBLE_DIRECTION_ADHERENCE
,
SH_LEAF_1_TWITCH_THROW
, SH_LEAF_1_TWITCH_SHARPNESS
, SH_LEAF_1_TWITCH_TIME
, SH_WIND_PACK9
,
SH_LEAF_2_RIPPLE_TIME
, SH_LEAF_2_RIPPLE_DISTANCE
, SH_LEAF_2_LEEWARD_SCALAR
, SH_WIND_PACK10
,
SH_LEAF_2_TUMBLE_TIME
, SH_LEAF_2_TUMBLE_FLIP
, SH_LEAF_2_TUMBLE_TWIST
, SH_LEAF_2_TUMBLE_DIRECTION_ADHERENCE
,
SH_LEAF_2_TWITCH_THROW
, SH_LEAF_2_TWITCH_SHARPNESS
, SH_LEAF_2_TWITCH_TIME
, SH_WIND_PACK11
,
SH_FROND_RIPPLE_TIME
, SH_FROND_RIPPLE_DISTANCE
, SH_FROND_RIPPLE_TILE
, SH_FROND_RIPPLE_LIGHTING_SCALAR
,
SH_ROLLING_BRANCH_FIELD_MIN
, SH_ROLLING_BRANCH_LIGHTING_ADJUST
, SH_ROLLING_BRANCH_VERTICAL_OFFSET
, SH_WIND_PACK12
,
SH_ROLLING_LEAF_RIPPLE_MIN
, SH_ROLLING_LEAF_TUMBLE_MIN
, SH_ROLLING_X
, SH_ROLLING_Y
,
SH_ROLLING_NOISE_PERIOD
, SH_ROLLING_NOISE_SIZE
, SH_ROLLING_NOISE_TURBULENCE
, SH_ROLLING_NOISE_TWIST
,
NUM_SHADER_VALUES
} |
| |
| enum | EOscillationComponents {
OSC_GLOBAL
, OSC_BRANCH_1
, OSC_BRANCH_2
, OSC_LEAF_1_RIPPLE
,
OSC_LEAF_1_TUMBLE
, OSC_LEAF_1_TWITCH
, OSC_LEAF_2_RIPPLE
, OSC_LEAF_2_TUMBLE
,
OSC_LEAF_2_TWITCH
, OSC_FROND_RIPPLE
, NUM_OSC_COMPONENTS
} |
| |
◆ Constants
| Enumerator |
|---|
| NUM_WIND_POINTS_IN_CURVE | |
| NUM_BRANCH_LEVELS | |
| NUM_LEAF_GROUPS | |
◆ EOptions
| Enumerator |
|---|
| GLOBAL_WIND | |
| GLOBAL_PRESERVE_SHAPE | |
| BRANCH_SIMPLE_1 | |
| BRANCH_DIRECTIONAL_1 | |
| BRANCH_DIRECTIONAL_FROND_1 | |
| BRANCH_TURBULENCE_1 | |
| BRANCH_WHIP_1 | |
| BRANCH_OSC_COMPLEX_1 | |
| BRANCH_SIMPLE_2 | |
| BRANCH_DIRECTIONAL_2 | |
| BRANCH_DIRECTIONAL_FROND_2 | |
| BRANCH_TURBULENCE_2 | |
| BRANCH_WHIP_2 | |
| BRANCH_OSC_COMPLEX_2 | |
| LEAF_RIPPLE_VERTEX_NORMAL_1 | |
| LEAF_RIPPLE_COMPUTED_1 | |
| LEAF_TUMBLE_1 | |
| LEAF_TWITCH_1 | |
| LEAF_OCCLUSION_1 | |
| LEAF_RIPPLE_VERTEX_NORMAL_2 | |
| LEAF_RIPPLE_COMPUTED_2 | |
| LEAF_TUMBLE_2 | |
| LEAF_TWITCH_2 | |
| LEAF_OCCLUSION_2 | |
| FROND_RIPPLE_ONE_SIDED | |
| FROND_RIPPLE_TWO_SIDED | |
| FROND_RIPPLE_ADJUST_LIGHTING | |
| ROLLING | |
| NUM_WIND_OPTIONS | |
◆ EOscillationComponents
| Enumerator |
|---|
| OSC_GLOBAL | |
| OSC_BRANCH_1 | |
| OSC_BRANCH_2 | |
| OSC_LEAF_1_RIPPLE | |
| OSC_LEAF_1_TUMBLE | |
| OSC_LEAF_1_TWITCH | |
| OSC_LEAF_2_RIPPLE | |
| OSC_LEAF_2_TUMBLE | |
| OSC_LEAF_2_TWITCH | |
| OSC_FROND_RIPPLE | |
| NUM_OSC_COMPONENTS | |
◆ EShaderValues
| Enumerator |
|---|
| SH_WIND_DIR_X | |
| SH_WIND_DIR_Y | |
| SH_WIND_DIR_Z | |
| SH_GENERAL_STRENGTH | |
| SH_GLOBAL_TIME | |
| SH_GLOBAL_DISTANCE | |
| SH_GLOBAL_HEIGHT | |
| SH_GLOBAL_HEIGHT_EXPONENT | |
| SH_BRANCH_1_TIME | |
| SH_BRANCH_1_DISTANCE | |
| SH_BRANCH_2_TIME | |
| SH_BRANCH_2_DISTANCE | |
| SH_BRANCH_1_TWITCH | |
| SH_BRANCH_1_TWITCH_FREQ_SCALE | |
| SH_BRANCH_2_TWITCH | |
| SH_BRANCH_2_TWITCH_FREQ_SCALE | |
| SH_BRANCH_1_WHIP | |
| SH_BRANCH_2_WHIP | |
| SH_WIND_PACK0 | |
| SH_WIND_PACK1 | |
| SH_WIND_ANCHOR_X | |
| SH_WIND_ANCHOR_Y | |
| SH_WIND_ANCHOR_Z | |
| SH_WIND_PACK2 | |
| SH_GLOBAL_DIRECTION_ADHERENCE | |
| SH_BRANCH_1_DIRECTION_ADHERENCE | |
| SH_BRANCH_2_DIRECTION_ADHERENCE | |
| SH_WIND_PACK5 | |
| SH_BRANCH_1_TURBULENCE | |
| SH_BRANCH_2_TURBULENCE | |
| SH_WIND_PACK6 | |
| SH_WIND_PACK7 | |
| SH_LEAF_1_RIPPLE_TIME | |
| SH_LEAF_1_RIPPLE_DISTANCE | |
| SH_LEAF_1_LEEWARD_SCALAR | |
| SH_WIND_PACK8 | |
| SH_LEAF_1_TUMBLE_TIME | |
| SH_LEAF_1_TUMBLE_FLIP | |
| SH_LEAF_1_TUMBLE_TWIST | |
| SH_LEAF_1_TUMBLE_DIRECTION_ADHERENCE | |
| SH_LEAF_1_TWITCH_THROW | |
| SH_LEAF_1_TWITCH_SHARPNESS | |
| SH_LEAF_1_TWITCH_TIME | |
| SH_WIND_PACK9 | |
| SH_LEAF_2_RIPPLE_TIME | |
| SH_LEAF_2_RIPPLE_DISTANCE | |
| SH_LEAF_2_LEEWARD_SCALAR | |
| SH_WIND_PACK10 | |
| SH_LEAF_2_TUMBLE_TIME | |
| SH_LEAF_2_TUMBLE_FLIP | |
| SH_LEAF_2_TUMBLE_TWIST | |
| SH_LEAF_2_TUMBLE_DIRECTION_ADHERENCE | |
| SH_LEAF_2_TWITCH_THROW | |
| SH_LEAF_2_TWITCH_SHARPNESS | |
| SH_LEAF_2_TWITCH_TIME | |
| SH_WIND_PACK11 | |
| SH_FROND_RIPPLE_TIME | |
| SH_FROND_RIPPLE_DISTANCE | |
| SH_FROND_RIPPLE_TILE | |
| SH_FROND_RIPPLE_LIGHTING_SCALAR | |
| SH_ROLLING_BRANCH_FIELD_MIN | |
| SH_ROLLING_BRANCH_LIGHTING_ADJUST | |
| SH_ROLLING_BRANCH_VERTICAL_OFFSET | |
| SH_WIND_PACK12 | |
| SH_ROLLING_LEAF_RIPPLE_MIN | |
| SH_ROLLING_LEAF_TUMBLE_MIN | |
| SH_ROLLING_X | |
| SH_ROLLING_Y | |
| SH_ROLLING_NOISE_PERIOD | |
| SH_ROLLING_NOISE_SIZE | |
| SH_ROLLING_NOISE_TURBULENCE | |
| SH_ROLLING_NOISE_TWIST | |
| NUM_SHADER_VALUES | |
◆ FSpeedTreeWind()
| FSpeedTreeWind::FSpeedTreeWind |
( |
| ) |
|
◆ Advance()
◆ ComputeWindAnchor()
| void FSpeedTreeWind::ComputeWindAnchor |
( |
float * |
pPos | ) |
|
|
protected |
Computes the wind anchor position based on current wind conditions.
◆ EnableGusting()
| void FSpeedTreeWind::EnableGusting |
( |
bool |
bEnabled | ) |
|
◆ GetBranchAnchor()
| const float * FSpeedTreeWind::GetBranchAnchor |
( |
void |
| ) |
const |
◆ GetMaxBranchLength()
| float FSpeedTreeWind::GetMaxBranchLength |
( |
void |
| ) |
const |
◆ GetParams()
◆ GetShaderTable()
| const float * FSpeedTreeWind::GetShaderTable |
( |
void |
| ) |
const |
◆ Gust()
Advances the gust parameter and randomly gusts if it can (e.g., the gust is not dying off or rising) based on the gust frequency.
◆ Interpolate()
◆ IsOptionEnabled()
| bool FSpeedTreeWind::IsOptionEnabled |
( |
EOptions |
eOption | ) |
const |
◆ LinearSigmoid()
Converts an input value (fInput) in the range [0.0, 1.0] to an s-curve. The parameter fLinearness flattens out the s-curve where 0.0 = s-curve and 1.0 = linear.
◆ MS_ALIGN()
| FSpeedTreeWind::MS_ALIGN |
( |
16 |
| ) |
|
|
protected |
◆ NeedsReload()
| bool FSpeedTreeWind::NeedsReload |
( |
void |
| ) |
|
|
inline |
◆ Normalize()
| void FSpeedTreeWind::Normalize |
( |
float * |
pVector | ) |
|
|
inlineprotected |
Normalizes the the incoming vector (pVector).
◆ RandomFloat()
◆ Scale()
◆ SetDirection()
| void FSpeedTreeWind::SetDirection |
( |
const FVector & |
vDir | ) |
|
◆ SetGustFrequency()
| void FSpeedTreeWind::SetGustFrequency |
( |
float |
fGustFreq | ) |
|
◆ SetGustMax()
| void FSpeedTreeWind::SetGustMax |
( |
float |
InGustMax | ) |
|
◆ SetGustMin()
| void FSpeedTreeWind::SetGustMin |
( |
float |
InGustMin | ) |
|
◆ SetInitDirection()
| void FSpeedTreeWind::SetInitDirection |
( |
const FVector & |
vDir | ) |
|
◆ SetNeedsReload()
◆ SetOption()
◆ SetParams()
◆ SetStrength()
| void FSpeedTreeWind::SetStrength |
( |
float |
fStrength | ) |
|
Sets the desired strength (fStrength). The FSpeedTreeWind::Advance( ) function will make the actual strength get there smoothly based on the strength response time.
◆ SetTreeValues()
| void FSpeedTreeWind::SetTreeValues |
( |
const FVector & |
vBranchAnchor, |
|
|
float |
fMaxBranchLength |
|
) |
| |
◆ operator<<
◆ m_abOptions
◆ m_afBranchWindAnchor
| float FSpeedTreeWind::m_afBranchWindAnchor[3] |
|
protected |
◆ m_afDirection
| float FSpeedTreeWind::m_afDirection[3] |
|
protected |
◆ m_afDirectionAtStart
| float FSpeedTreeWind::m_afDirectionAtStart[3] |
|
protected |
◆ m_afDirectionMidTarget
| float FSpeedTreeWind::m_afDirectionMidTarget[3] |
|
protected |
◆ m_afDirectionTarget
| float FSpeedTreeWind::m_afDirectionTarget[3] |
|
protected |
◆ m_afOscillationTimes
◆ m_afRollingOffset
| float FSpeedTreeWind::m_afRollingOffset[2] |
|
protected |
◆ m_bGustingEnabled
| bool FSpeedTreeWind::m_bGustingEnabled |
|
protected |
◆ m_bNeedsReload
| bool FSpeedTreeWind::m_bNeedsReload |
|
protected |
◆ m_fCombinedStrength
| float FSpeedTreeWind::m_fCombinedStrength |
|
protected |
◆ m_fDirectionChangeEndTime
| double FSpeedTreeWind::m_fDirectionChangeEndTime |
|
protected |
◆ m_fDirectionChangeStartTime
| double FSpeedTreeWind::m_fDirectionChangeStartTime |
|
protected |
◆ m_fElapsedTime
| double FSpeedTreeWind::m_fElapsedTime |
|
protected |
◆ m_fGust
| float FSpeedTreeWind::m_fGust |
|
protected |
◆ m_fGustAtStart
| double FSpeedTreeWind::m_fGustAtStart |
|
protected |
◆ m_fGustFallStart
| double FSpeedTreeWind::m_fGustFallStart |
|
protected |
◆ m_fGustFallTarget
| double FSpeedTreeWind::m_fGustFallTarget |
|
protected |
◆ m_fGustRiseTarget
| double FSpeedTreeWind::m_fGustRiseTarget |
|
protected |
◆ m_fGustStart
| double FSpeedTreeWind::m_fGustStart |
|
protected |
◆ m_fGustTarget
| double FSpeedTreeWind::m_fGustTarget |
|
protected |
◆ m_fLastTime
| double FSpeedTreeWind::m_fLastTime |
|
protected |
◆ m_fMaxBranchLevel1Length
| float FSpeedTreeWind::m_fMaxBranchLevel1Length |
|
protected |
◆ m_fStrength
| float FSpeedTreeWind::m_fStrength |
|
protected |
◆ m_fStrengthAtStart
| float FSpeedTreeWind::m_fStrengthAtStart |
|
protected |
◆ m_fStrengthChangeEndTime
| double FSpeedTreeWind::m_fStrengthChangeEndTime |
|
protected |
◆ m_fStrengthChangeStartTime
| double FSpeedTreeWind::m_fStrengthChangeStartTime |
|
protected |
◆ m_fStrengthTarget
| float FSpeedTreeWind::m_fStrengthTarget |
|
protected |
◆ m_sParams
The documentation for this class was generated from the following files: