Vixen
dd8b0a81
csharp
public enum DepthResolveMode

How the samples of a multisampled depth attachment become one depth value.

Read the guide page for this →

Remarks

⚠ A depth resolve is not an average, and there is deliberately no option to make it one. Colour averages because the average of four colours is a colour; the average of four depths is a surface that is behind nothing and in front of nothing, so every consumer of the resolved buffer — reprojection, screen-space tracing, fog, the depth test of a later pass — reads a plane that no geometry occupies. That is why Resolve alone cannot describe a depth resolve and this enum exists.

⚠ Under the engine's reversed-Z convention the near plane is depth 1 and the far plane is 0, so Max is the sample nearest the camera and Min is the farthest. This is the inversion that makes a wrong choice here so expensive: both render a plausible picture, and only the passes that read the resolved depth go quietly wrong.

Fields and properties (3)

  • SampleZero

    Take sample zero and ignore the rest — the cheapest, and the only mode every Vulkan implementation is required to support.

  • Min

    The smallest depth value, which under reversed-Z is the sample farthest from the camera.

  • Max

    The largest depth value, which under reversed-Z is the sample nearest the camera.

Used by (14)

  • CompositorAssetTestsVixen.Rendering.Tests
  • DepthResolveImageTestsVixen.Graphics.Golden.Tests
  • DepthResolveTestsVixen.Graphics.RenderGraph.Tests
  • DepthStencilAttachmentVixen.Graphics
  • GraphAttachmentVixen.Graphics.RenderGraph
  • GraphicsDeviceFeaturesVixen.Graphics
  • RenderGraphPassBuilderVixen.Graphics.RenderGraph
  • RenderPassAssetVixen.Rendering
  • RenderPassRendererVixen.Rendering
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_Compositor_RenderPassAssetSerializerVixen.Rendering
  • VulkanEnumTestsVixen.Graphics.Vulkan.Tests
  • VulkanEnumsVixen.Graphics.Vulkan
  • VulkanFeaturesVixen.Graphics.Vulkan