Vixen
02b45cc4
csharp
public enum CullPhase

Which of a two-phase cull's two dispatches a set of records is for.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

One-phase culling is Main alone, and it is correct: the depth it tests against is a frame old, so an object that was hidden last frame and is not now is drawn one frame late. That is a popping artefact at the trailing edge of anything the camera moves past, and no amount of conservatism in the test removes it — the information simply was not in the frame.

Two-phase adds Late: draw what Main found, reduce that depth back into the pyramid, and ask again about everything main rejected. The second answer is tested against this frame's own depth, so it is late by nothing. What it costs is a second reduction, a second dispatch and a second set of draws — which is why it is a shape a document chooses rather than the only one on offer.

Fields and properties (2)

  • Main

    The pass that runs before anything is drawn, against last frame's depth.

  • Late

    The pass that runs after the main pass's draws, against the depth they left behind.

Used by (10)

  • CompositorAssetTestsVixen.Rendering.Tests
  • CompositorBuilderVixen.Rendering
  • GpuCullingVixen.Rendering
  • GpuCullingAssetVixen.Rendering
  • GpuCullingRendererVixen.Rendering
  • GpuVisibilityGroupVixen.Rendering
  • GpuVisibilityGroupTestsVixen.Rendering.Tests
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_Compositor_GpuCullingAssetSerializerVixen.Rendering
  • GpuCullingNodeVixen.Editor.AssetEditors