Vixen
02b45cc4
csharp
public readonly record struct RenderStageMask

A set of stages, as a bit per stage index.

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

Remarks

A mask rather than a list, because the culling loop asks "does this object appear in any stage this view wants" once per object per view, and that has to be one and.

64 stages is the ceiling. Stride's shipped compositors use fewer than ten; a project needing more has a compositor problem rather than a bit-width problem, and finding out at AddStage is better than a silent wrap.

Fields and properties (5)

  • public ulong Bits
  • public const int Capacity

    How many distinct stages a mask can hold.

  • public static RenderStageMask None

    The empty set.

  • public static RenderStageMask All

    Every stage there could be.

  • public bool IsEmpty

    Whether the set is empty.

Methods (10)

  • public RenderStageMask(ulong Bits)

    A set of stages, as a bit per stage index.

  • public static RenderStageMask Of(int stageIndex)

    The set holding just one stage.

  • public bool Contains(int stageIndex)

    Whether a stage is in the set.

  • public bool Intersects(RenderStageMask other)

    Whether the two sets have any stage in common.

  • public static RenderStageMask operator |(RenderStageMask left, RenderStageMask right)

    The union of two sets.

  • public static RenderStageMask operator &(RenderStageMask left, RenderStageMask right)

    The stages both sets hold.

  • public RenderStageMask Union(RenderStageMask other)

    The union of two sets, for callers that cannot use the operator.

  • public RenderStageMask Intersect(RenderStageMask other)

    The stages both sets hold, for callers that cannot use the operator.

  • public IEnumerable<int> Indices()

    The stages in the set, ascending.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (33)

  • AppGraphicsVixen.App.Hosting
  • CompositorAssetTestsVixen.Rendering.Tests
  • CompositorBuilderVixen.Rendering
  • CullJobVixen.Rendering
  • DefaultFrameTestsVixen.Rendering.Tests
  • FrameBudgetTestsVixen.Rendering.Tests
  • GpuCullingVixen.Rendering
  • GpuVisibilityGroupVixen.Rendering
  • GpuVisibilityGroupTestsVixen.Rendering.Tests
  • GraphicsCompositorVixen.Rendering
  • GraphicsCompositorTestsVixen.Rendering.Tests
  • MaterialRenderFeatureVixen.Rendering
  • MeshExtractionSystemVixen.Rendering
  • RecordingTestsVixen.Rendering.Tests
  • RenderObjectVixen.Rendering
  • RenderObjectStoreVixen.Rendering
  • RenderObjectStoreTestsVixen.Rendering.Tests
  • RenderStageVixen.Rendering
  • RenderSystemVixen.Rendering
  • RenderSystemTestsVixen.Rendering.Tests
  • RenderViewVixen.Rendering
  • ShadowMapRendererTestsVixen.Rendering.Tests
  • VfxExtractionSystemVixen.Rendering
  • VideoSurfaceUploaderVixen.Video.Rendering
  • ViewCullingDeviceTestsVixen.Graphics.Golden.Tests
  • VirtualGeometryDeviceTestsVixen.Graphics.Golden.Tests
  • VirtualGeometryGoldenTestsVixen.Graphics.Golden.Tests
  • VirtualGeometryRenderFeatureVixen.Rendering
  • VisibilityBufferRendererVixen.Rendering
  • VisibilityGroupTestsVixen.Rendering.Tests
  • WorldRendererVixen.Engine.Renderer
  • WorldRendererTestsVixen.Engine.Renderer.Tests
  • HostedRendererTestsVixen.App.Tests