Vixen
caa30e12
csharp
public interface IWaterWaveSource

Where a zone's sea state comes from.

Read the guide page for this →

Remarks

IWaterSplineSource's twin, one asset kind over, and a seam for the same reason: a test's spectrum is a literal, an editor's is a document being dragged, and a game's is a loaded .vxwaves. The fold has no business knowing which.

⚠ Answering null falls back to the zone's inline spectrum rather than to a flat sea. See WaveAsset for why this is the opposite of a body's unresolved spline: a zone still has a perfectly good window, and rendering it dead flat reads as the water stack being broken rather than as one asset still streaming. UnresolvedWaves is what says it happened.

⚠ No placement argument, and the absence is deliberate. A spline is geometry and is asked for in world space; a sea state is a wind and a seed, and a spectrum that depended on where the zone entity sat would be one a client and a server could disagree about — which is the one thing [§ D7](../../docs/plan/35-water.md#d7-waves-are-a-spectrum-summed-as-gerstner-and-the-fft-is-deferred-with-arithmetic) makes determinism an exit criterion for.

Methods (1)

  • WaterWaveSpectrum? SpectrumFor(string name)

    The sea state a zone names, or if it is not available.

Used by (5)

  • AssetWaterSourceVixen.Engine.Renderer
  • SeaVixen.Rendering.Water.Tests
  • WaterZoneSystemVixen.Rendering.Water
  • FileWavesVixen.Editor.Assets.Tests
  • WaveAdapterVixen.Editor.App