Vixen
c7401864

WaterRippleSettings

struct Core/Vixen.Water/WaterRipples.cs:19
csharp
public readonly record struct WaterRippleSettings

The shape and the limits of a ripple simulation.

Read the guide page for this →

Remarks

Every one of these is a bound, and that is the point — [35 § D12](../../docs/plan/35-water.md#d12-ripples-are-a-sliding-window-height-field-and-they-are-displacement-not-geometry). § Risks calls this "an unbounded feature wearing a bounded name": a fixed resolution, a fixed step and an explicit injection budget are what keep it from becoming a frame-time cliff in a busy scene, and the moment somebody proposes making the window adaptive it has failed the document's own left-column test.

Fields and properties (8)

  • public float Extent

    How wide and deep the window is, in metres.

  • public int Resolution

    How many texels along each axis.

  • public float Speed

    How fast a disturbance travels across the field, in metres a second.

  • public float Damping

    How fast a disturbance dies away, per second.

  • public float EdgeFade

    How wide the band is over which the edge is damped to nothing, in metres.

  • public int InjectionBudget

    How many injections a step will accept before it starts reporting overflow.

  • public static WaterRippleSettings Default

    A 64-metre window at a quarter of a metre a texel — the CPU reference's rate.

  • public float MetresPerTexel

    How many metres apart two neighbouring texels are.

Methods (2)

  • public float MaximumSpeed(float deltaTime)

    The fastest a disturbance may travel for a step of a given length to be stable.

  • public string? Validate(float deltaTime)

    Why this simulation cannot be run, or if it can.

Used by (7)

  • WaterDebugDrawVixen.Rendering.Water
  • WaterDebugDrawTestsVixen.Rendering.Water.Tests
  • WaterDisturbanceTestsVixen.Water.Tests
  • WaterRippleSeamTestsVixen.Graphics.Golden.Tests
  • WaterRippleSimulationVixen.Rendering.Water
  • WaterRippleTestsVixen.Water.Tests
  • WaterRipplesVixen.Water