Vixen
c7401864
csharp
public record class UnderwaterAsset

The waterline composite, as a document names it.

Read the guide page for this →

Remarks

[35 § D9](../../docs/plan/35-water.md#d9-underwater-is-a-post-process-volume-and-the-waterline-is-named-as-the-hard-part)'s second half. The volume half is a PostProcessVolume with UnderwaterShape and grades the whole frame; this is the curve, which a fold cannot express because a fold produces one weight.

⚠ It goes after !Water, and after a second !Copy. What it grades is the finished frame including the water surface, so the copy it reads has to be taken after the surface was composited — a document that reuses the copy !Water read would grade the frame as it was before the water was in it, which at the waterline is a band of unlit lake.

A project that never puts a camera in the water can leave the node out entirely; a project that names it pays a fullscreen pass that returns on its first branch whenever the camera is dry.

Fields and properties (22)

  • public string Name

    The node's name, for debug groups and for a human reading the file.

  • public bool Enabled

    Whether the node runs.

  • public string Output

    The target it writes — the frame's scene colour.

  • public string Behind

    The copy of the finished frame, which is what it grades.

  • public string SceneDepth

    The opaque scene's depth.

  • public string Surface

    The surface plane, read for where a ray leaves the water.

  • public string View

    Which view's camera the waterline is solved against.

  • public float WaterlineFeather

    How wide the waterline's fade is, in metres.

  • public Vector3 Scattering

    How much light the medium scatters out of a ray per metre, per channel.

  • public Vector3 Absorption

    How much it absorbs per metre, per channel.

  • public float PhaseG

    Henyey–Greenstein anisotropy, carried so the medium is one description.

  • public Vector3 SkyColour

    What arrives from the whole sky. ⚠ Without it, below the surface is black.

  • public Vector3 BehindScale

    § D8's scale on what shows through.

  • public bool Distortion

    Whether what is seen is refracted at all.

  • public float DistortionAmount

    How far the wobble displaces what is seen, in UV.

  • public float DistortionScale

    How many wobbles across the screen.

  • public float DistortionSpeed

    How fast they travel.

  • public bool Caustics

    Whether the moving caustic bands are added.

  • public float CausticAmount

    How bright they are.

  • public float CausticScale

    How large a caustic cell is.

  • public float CausticSpeed

    How fast the pattern drifts.

  • public float CausticDepth

    How deep they fade out over, in metres.

Used by (4)

  • TypeRegistrationVixen.Rendering.Water
  • UnderwaterPassTestsVixen.Rendering.Water.Tests
  • Vixen_Rendering_Water_UnderwaterAssetSerializerVixen.Rendering.Water
  • WaterRendererFactoryVixen.Rendering.Water