Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::World::WindFieldConfig Struct Reference

Runtime configuration for procedural wind pockets. More...

#include <WindField.h>

Public Attributes

bool enabled = true
 Enables sampling and debug drawing when true.
float cellSize = 62.0f
 Horizontal cell size used to place deterministic wind pockets.
float pocketDensity = 0.65f
 Probability in [0, 1] that a cell contains a wind pocket.
float radiusScale = 1.0f
 Multiplier applied to generated horizontal pocket radii.
float windSpeed = 9.0f
 Peak horizontal wind speed at full sample strength.
float globalDirectionRadians = 0.0f
 Base horizontal wind direction angle in radians.
float globalDirectionRotationSpeed = 0.015f
 Time-based rotation speed for the base direction, in radians per second.
float regionalBiasStrength = 0.35f
 Regional noise influence on horizontal wind direction.
float coneHalfAngleRadians = 0.78539816339f
 Per-pocket random angular spread around the regional direction.
float verticalRadius = 28.0f
 Half-height of each wind pocket.
float verticalWindSpeed = 4.5f
 Peak upward wind speed at full sample strength.
float verticalWindBias = 0.12f
 Bias added to per-pocket vertical noise before clamping to [0, 1].
float visualizationRadius = 140.0f
 Radius around the debug center scanned by drawDebugAround().
float windAccelerationScale = 0.45f
 Glider acceleration multiplier applied to wind contribution.
float maxWindAddedSpeed = 10.0f
 Maximum glider speed increase contributed by wind.
float windDiminishingSpeed = 6.0f
 Speed where wind contribution starts diminishing for glider flight.
float headwindPenaltyScale = 0.5f
 Scale applied when wind opposes glider travel direction.
bool debugDraw = true
 Enables all wind debug drawing when true.
bool debugDrawBorders = true
 Draws pocket radius rings and vertical extents when true.
bool debugDrawArrows = true
 Draws wind direction and velocity arrows when true.
float debugArrowSpacing = 9.0f
 Spacing between sampled debug arrows inside a pocket.
float debugArrowScale = 0.28f
 Scale applied to debug arrow lengths.

Detailed Description

Runtime configuration for procedural wind pockets.

Distances and speeds use engine world units. Horizontal movement uses the XZ plane, and Y is vertical. The first group of fields controls pocket placement and sampled wind velocity. The gameplay fields are consumed by glider flight tuning. The debug fields only affect WindField::drawDebugAround().

Definition at line 24 of file WindField.h.

Member Data Documentation

◆ cellSize

float Engine::World::WindFieldConfig::cellSize = 62.0f

Horizontal cell size used to place deterministic wind pockets.

Definition at line 28 of file WindField.h.

◆ coneHalfAngleRadians

float Engine::World::WindFieldConfig::coneHalfAngleRadians = 0.78539816339f

Per-pocket random angular spread around the regional direction.

Definition at line 36 of file WindField.h.

◆ debugArrowScale

float Engine::World::WindFieldConfig::debugArrowScale = 0.28f

Scale applied to debug arrow lengths.

Definition at line 52 of file WindField.h.

◆ debugArrowSpacing

float Engine::World::WindFieldConfig::debugArrowSpacing = 9.0f

Spacing between sampled debug arrows inside a pocket.

Definition at line 51 of file WindField.h.

◆ debugDraw

bool Engine::World::WindFieldConfig::debugDraw = true

Enables all wind debug drawing when true.

Definition at line 48 of file WindField.h.

◆ debugDrawArrows

bool Engine::World::WindFieldConfig::debugDrawArrows = true

Draws wind direction and velocity arrows when true.

Definition at line 50 of file WindField.h.

◆ debugDrawBorders

bool Engine::World::WindFieldConfig::debugDrawBorders = true

Draws pocket radius rings and vertical extents when true.

Definition at line 49 of file WindField.h.

◆ enabled

bool Engine::World::WindFieldConfig::enabled = true

Enables sampling and debug drawing when true.

Definition at line 26 of file WindField.h.

◆ globalDirectionRadians

float Engine::World::WindFieldConfig::globalDirectionRadians = 0.0f

Base horizontal wind direction angle in radians.

Definition at line 33 of file WindField.h.

◆ globalDirectionRotationSpeed

float Engine::World::WindFieldConfig::globalDirectionRotationSpeed = 0.015f

Time-based rotation speed for the base direction, in radians per second.

Definition at line 34 of file WindField.h.

◆ headwindPenaltyScale

float Engine::World::WindFieldConfig::headwindPenaltyScale = 0.5f

Scale applied when wind opposes glider travel direction.

Definition at line 46 of file WindField.h.

◆ maxWindAddedSpeed

float Engine::World::WindFieldConfig::maxWindAddedSpeed = 10.0f

Maximum glider speed increase contributed by wind.

Definition at line 44 of file WindField.h.

◆ pocketDensity

float Engine::World::WindFieldConfig::pocketDensity = 0.65f

Probability in [0, 1] that a cell contains a wind pocket.

Definition at line 29 of file WindField.h.

◆ radiusScale

float Engine::World::WindFieldConfig::radiusScale = 1.0f

Multiplier applied to generated horizontal pocket radii.

Definition at line 30 of file WindField.h.

◆ regionalBiasStrength

float Engine::World::WindFieldConfig::regionalBiasStrength = 0.35f

Regional noise influence on horizontal wind direction.

Definition at line 35 of file WindField.h.

◆ verticalRadius

float Engine::World::WindFieldConfig::verticalRadius = 28.0f

Half-height of each wind pocket.

Definition at line 38 of file WindField.h.

◆ verticalWindBias

float Engine::World::WindFieldConfig::verticalWindBias = 0.12f

Bias added to per-pocket vertical noise before clamping to [0, 1].

Definition at line 40 of file WindField.h.

◆ verticalWindSpeed

float Engine::World::WindFieldConfig::verticalWindSpeed = 4.5f

Peak upward wind speed at full sample strength.

Definition at line 39 of file WindField.h.

◆ visualizationRadius

float Engine::World::WindFieldConfig::visualizationRadius = 140.0f

Radius around the debug center scanned by drawDebugAround().

Definition at line 41 of file WindField.h.

◆ windAccelerationScale

float Engine::World::WindFieldConfig::windAccelerationScale = 0.45f

Glider acceleration multiplier applied to wind contribution.

Definition at line 43 of file WindField.h.

◆ windDiminishingSpeed

float Engine::World::WindFieldConfig::windDiminishingSpeed = 6.0f

Speed where wind contribution starts diminishing for glider flight.

Definition at line 45 of file WindField.h.

◆ windSpeed

float Engine::World::WindFieldConfig::windSpeed = 9.0f

Peak horizontal wind speed at full sample strength.

Definition at line 31 of file WindField.h.


The documentation for this struct was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/World/WindField.h