public readonly struct RenderOutputWhat 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> ColourFormatsThe colour attachment formats, in order.
public int ColourCountHow many colour attachments the pass has.
public PixelFormat DepthFormatThe depth attachment's format, or Undefined.
public int SampleCountHow many samples the attachments have.
public bool IsEmptyWhether 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