89 [[nodiscard]]
WindSample sample(
const glm::vec3 & worldPos,
float timeSeconds )
const;
Procedural wind field used by glider flight, particles, and debug rendering.
const WindFieldConfig & getConfig() const
Returns the current wind field configuration.
WindSample sample(const glm::vec3 &worldPos, float timeSeconds) const
Samples the strongest wind pocket affecting a world-space point.
void drawDebugAround(const glm::vec3 ¢er, float timeSeconds) const
Draws debug visualization for wind pockets near a world-space center.
WindFieldConfig config_
Active runtime wind configuration.
void setConfig(const WindFieldConfig &config)
Replaces the wind field configuration.
WindFieldConfig & getConfig()
Returns a mutable wind field configuration.
Runtime configuration for procedural wind pockets.
float cellSize
Horizontal cell size used to place deterministic wind pockets.
float verticalRadius
Half-height of each wind pocket.
float verticalWindBias
Bias added to per-pocket vertical noise before clamping to [0, 1].
float globalDirectionRotationSpeed
Time-based rotation speed for the base direction, in radians per second.
float verticalWindSpeed
Peak upward wind speed at full sample strength.
float globalDirectionRadians
Base horizontal wind direction angle in radians.
bool debugDrawBorders
Draws pocket radius rings and vertical extents when true.
float windSpeed
Peak horizontal wind speed at full sample strength.
float pocketDensity
Probability in [0, 1] that a cell contains a wind pocket.
float regionalBiasStrength
Regional noise influence on horizontal wind direction.
float headwindPenaltyScale
Scale applied when wind opposes glider travel direction.
float windAccelerationScale
Glider acceleration multiplier applied to wind contribution.
float maxWindAddedSpeed
Maximum glider speed increase contributed by wind.
float debugArrowSpacing
Spacing between sampled debug arrows inside a pocket.
float radiusScale
Multiplier applied to generated horizontal pocket radii.
bool debugDraw
Enables all wind debug drawing when true.
bool enabled
Enables sampling and debug drawing when true.
float windDiminishingSpeed
Speed where wind contribution starts diminishing for glider flight.
float visualizationRadius
Radius around the debug center scanned by drawDebugAround().
float debugArrowScale
Scale applied to debug arrow lengths.
bool debugDrawArrows
Draws wind direction and velocity arrows when true.
float coneHalfAngleRadians
Per-pocket random angular spread around the regional direction.
Wind field result at one world-space point.
bool isInsidePocket
True when the point is inside a generated wind pocket.
float strength
Falloff factor in [0, 1] for the selected pocket.
glm::vec3 velocity
Wind velocity at the sample point.
uint32_t pocketId
Deterministic identifier for the selected pocket.