Vixen
02b45cc4
csharp
public readonly struct RenderOutput

What a pass renders into, as a pipeline sees it: formats and a sample count, no textures.

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

Remarks

A pipeline depends on the formats, not on the images. That is why this type exists separately from the attachments a pass is actually given, and it is what makes the whole arrangement work: the swapchain hands out a different image every frame and the render graph aliases transient textures freely, yet neither invalidates a single pipeline, because neither changes a format. Keying pipelines by texture would rebuild every one of them three frames out of three.

Equality is structural — it is half of a PipelineKey, and a key compared by reference would miss every hit.

Fields and properties (5)

  • public ReadOnlySpan<PixelFormat> ColourFormats

    The colour attachment formats, in order.

  • public int ColourCount

    How many colour attachments the pass has.

  • public PixelFormat DepthFormat

    The depth attachment's format, or Undefined.

  • public int SampleCount

    How many samples the attachments have.

  • public bool IsEmpty

    Whether this describes any attachment at all.

Methods (7)

  • public RenderOutput(ReadOnlySpan<PixelFormat> colourFormats, PixelFormat depthFormat = Undefined, int sampleCount = 1)

    The formats of a pass's colour attachments, in order, and its depth format.

  • public bool Equals(RenderOutput other)

    Indicates whether the current object is equal to another object of the same type.

  • public override bool Equals(object? obj)

    Indicates whether this instance and a specified object are equal.

  • public override int GetHashCode()

    Returns the hash code for this instance.

  • public static bool operator ==(RenderOutput left, RenderOutput right)

    Whether two outputs describe the same attachments.

  • public static bool operator !=(RenderOutput left, RenderOutput right)

    Whether two outputs describe different attachments.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (35)

  • UiHostHelloUi
  • VideoGameVideoPlayback
  • DebugDrawImageTestsVixen.Graphics.Golden.Tests
  • DebugDrawRendererVixen.Engine.Renderer
  • EffectPipelineDescriberVixen.Rendering
  • FullScreenRendererVixen.Rendering
  • GrassDrawPassVixen.Rendering.Terrain
  • GrassDrawPassTestsVixen.Rendering.Terrain.Tests
  • IPipelineDescriberVixen.Rendering
  • IrradianceCubeCaptureVixen.Rendering
  • LineImageTestsVixen.Graphics.Golden.Tests
  • LineRendererVixen.Rendering
  • MeshInstanceRendererVixen.Rendering
  • MeshInstanceRendererTestsVixen.Rendering.Tests
  • MeshRenderFeatureVixen.Rendering
  • MeshRendererVixen.Rendering
  • ParticleRenderFeatureVixen.Rendering
  • PipelineKeyVixen.Rendering
  • PunctualShadowRendererVixen.Rendering
  • RenderDrawContextVixen.Rendering
  • RenderPassRendererVixen.Rendering
  • ShadowMapRendererVixen.Rendering
  • SpriteRenderFeatureVixen.Rendering
  • SurfaceCardCaptureVixen.Rendering
  • TerrainRendererVixen.Rendering.Terrain
  • UiFrameLifetimeTestsVixen.Graphics.Golden.Tests
  • UiImageTestsVixen.Graphics.Golden.Tests
  • UiRendererVixen.Ui.Renderer
  • VideoInUiTestsVixen.Video.Rendering.Tests
  • VideoRenderTargetVixen.Video.Rendering
  • VideoRendererVixen.Video.Rendering
  • VideoRendererTestsVixen.Video.Rendering.Tests
  • VirtualShadowRendererVixen.Rendering
  • EditorPaneVixen.Editor.Host
  • ScenePresenterVixen.Editor.App