DiligentCore icon indicating copy to clipboard operation
DiligentCore copied to clipboard

Native multi-view support ?

Open hzqst opened this issue 5 months ago • 2 comments

I am looking for native multi-view support to avoid emitting vertices from geometry shader when rendering 6 views into cubemap.

D3D12:

https://microsoft.github.io/DirectX-Specs/d3d/ViewInstancing.html

https://github.com/microsoft/DirectXShaderCompiler/wiki/SV_ViewID

Vulkan:

https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderPassMultiviewCreateInfo.html

Similar impl:

https://github.com/NVIDIA-RTX/NRI/blob/afd8c284de8a21dc69955ee5fe8c795b6ef0317a/Source/D3D12/PipelineD3D12.hpp#L281 (ViewInstancing impl)

https://github.com/NVIDIA-RTX/NRI/blob/afd8c284de8a21dc69955ee5fe8c795b6ef0317a/Source/VK/PipelineVK.hpp#L229 (DynamicRendering impl)

https://github.com/SaschaWillems/Vulkan/blob/master/examples/multiview/multiview.cpp https://github.com/SaschaWillems/Vulkan/blob/ce235bffe1bc1fc3267ab6680b806c8110f70562/shaders/glsl/multiview/multiview.vert#L25 (Legacy RenderPass impl)

Similar req:

https://github.com/gfx-rs/gfx/issues/3303

https://github.com/NVIDIA-RTX/NRI/issues/42

hzqst avatar Oct 09 '25 13:10 hzqst

The only issue is that in Vulkan multiview needs to be enabled in the render pass, which is annoying.

TheMostDiligent avatar Oct 09 '25 16:10 TheMostDiligent

This would pair amazingly with the OpenXR support that was recently added.

n0bra1n3r avatar Oct 25 '25 03:10 n0bra1n3r