public readonly record struct WaterFieldDescriptionThe shape of a field: a square window on the ground plane, at a resolution.
Remarks
Always a sliding window ([§ D3](../../docs/plan/35-water.md#d3-the-water-info-texture-is-the-interchange-and-it-is-a-zone-render)). Unreal made local tessellation a mode in 5.3 because the fixed-extent version does not survive an open world, and there is no reason to build the version that does not survive first.
⚠ The origin is snapped, and the snap is to a texel of the coarsest thing that reads the field. Snapping to the window's own grid is not enough once a ripple simulation samples it at a different resolution: the two grids beat against each other and produce a crawl along the shoreline that appears only while the camera moves. That is the same class of bug as the terrain quadtree's morph, and it gets the same treatment — a test on the arithmetic, before there is a renderer to see it in. See Snap.
Fields and properties (6)
public Vector2 OriginThe window's low corner, on the ground plane.
public float ExtentHow wide and deep the window is, in metres.
public int ResolutionHow many texels along each axis.
public static WaterFieldDescription DefaultA 256-metre window at one metre per texel.
public float MetresPerTexelHow many metres apart two neighbouring texels are.
public long BytesHow many bytes the four channels and the coverage occupy.
Methods (2)
public string? Validate()Why this shape cannot be rasterised, or if it can.
public WaterFieldDescription Snap(Vector2 centre, float coarsestTexel = 0)The window this one becomes when the view moves, snapped so it does not shimmer.
Used by (19)
- BuoyancyTestsVixen.Water.Tests
- LakeVixen.Water.Physics.Tests
- WaterDebugDrawVixen.Rendering.Water
- WaterDebugDrawTestsVixen.Rendering.Water.Tests
- WaterEvaluatorTestsVixen.Water.Tests
- WaterFieldVixen.Water
- WaterFieldPyramidVixen.Water
- WaterFieldTestsVixen.Water.Tests
- WaterInfoTextureVixen.Rendering.Water
- WaterMeshRendererVixen.Rendering.Water
- WaterSurfaceMeshVixen.Water
- WaterSurfaceMeshTestsVixen.Water.Tests
- WaterSurfacePassVixen.Rendering.Water
- WaterSurfacePassTestsVixen.Rendering.Water.Tests
- WaterZoneVixen.Water
- WaterZoneStateVixen.Water
- WaterZoneSystemVixen.Rendering.Water
- WaterZoneTestsVixen.Water.Tests
- WaterPresenterVixen.Editor.App