public sealed class CompositorFrameWhat a compositor node gets while it is declaring passes: the graph, the frame's resources by name, and what a recorded pass will need.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The seam that used to be a dictionary of texture handles. A node still refers to a target by name — that has not changed and is what lets one authored document run against a swapchain, an offscreen buffer or a test's scratch texture — but a name now resolves to a GraphTexture, which the graph may not have allocated yet and may alias with something else once it has.
That is the whole point of the move. Declaring a target rather than binding one is what lets the graph size it, place its barriers, decide whether its contents ever have to reach memory, and drop the pass entirely if nothing reads what it wrote.
Fields and properties (5)
public required RenderGraph GraphThe graph this frame's passes are declared into.
public required EffectSystem EffectsWhere a shader variant comes from.
public IGraphicsDevice? DeviceThe device, for a feature that has to create a pipeline it did not have.
public Int2 SizeThe size a resource declared without one takes, in pixels.
public IEnumerable<string> NamesThe resources this frame has, by name.
Methods (8)
public void Add(string name, GraphTexture texture, PixelFormat format)Adds a resource under a name.
public GraphTexture Texture(string node, string name)The resource a node named, or a refusal naming both.
public PixelFormat FormatOf(string node, string name)The format of the resource a node named.
public bool Has(string name)Whether a name resolves to a texture.
public void Add(string name, GraphBuffer buffer, in BufferDescription description)Adds a buffer under a name.
public GraphBuffer Buffer(string node, string name)The buffer a node named, or a refusal naming both.
public BufferDescription DescribeBuffer(string node, string name)What the buffer a node named was declared or imported as.
public bool HasBuffer(string name)Whether a name resolves to a buffer.
Used by (56, showing 40)
- AmbientCombineRendererVixen.Rendering.PostFx
- AmbientOcclusionRendererVixen.Rendering.PostFx
- AutoExposureRendererVixen.Rendering.PostFx
- BloomRendererVixen.Rendering.PostFx
- BufferReadbackRendererVixen.Rendering
- BufferTransferTestsVixen.Rendering.Tests
- BufferUploadRendererVixen.Rendering
- ClusterCullingRendererVixen.Rendering
- ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
- CompositorAssetTestsVixen.Rendering.Tests
- CompositorImageTestsVixen.Graphics.Golden.Tests
- ComputeRendererVixen.Rendering
- DelegateSceneRendererVixen.Rendering
- DepthOfFieldRendererVixen.Rendering.PostFx
- DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
- DistanceFieldAoRendererVixen.Rendering.PostFx
- FogRendererVixen.Rendering.PostFx
- FullScreenRendererVixen.Rendering
- FxaaRendererVixen.Rendering.PostFx
- GlobalDistanceFieldRendererVixen.Rendering
- GpuCullingRendererVixen.Rendering
- GraphicsCompositorVixen.Rendering
- GraphicsCompositorTestsVixen.Rendering.Tests
- HiZRendererVixen.Rendering
- IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
- IndirectDiffuseRendererVixen.Rendering.PostFx
- IrradianceFieldRendererVixen.Rendering
- IrradianceRefinementTestsVixen.Rendering.Tests
- IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
- LensFlareRendererVixen.Rendering.PostFx
- LocalExposureRendererVixen.Rendering.PostFx
- MotionBlurRendererVixen.Rendering.PostFx
- OutlineRendererVixen.Rendering.PostFx
- ParticleSpriteDeviceTestsVixen.Graphics.Golden.Tests
- PostEffectRendererVixen.Rendering.PostFx
- PunctualShadowRendererVixen.Rendering
- ReflectionRendererVixen.Rendering.PostFx
- RenderPassRendererVixen.Rendering
- SceneRendererVixen.Rendering
- SceneRendererSequenceVixen.Rendering