Multi-view GPU frustum culling #1654
-
|
Hi, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
It may or may not be an advantage for your usage case to perform GPU culling of tiles, this will depend upon a range of factors but as you don't go into any details of your terrain rendering I can't provide any guidance on whether it's appropriate, I would flag up that it might not be the best way to get things running most efficiently. For tasks like vegetation and heavily instanced objects where there are millions of objects that may need to be rendered then culling on GPU becomes compelling. For cases where GPU culling is compelling using a compute or mesh shader is possible right now without any modifications to vsg::ViewDependentState or vsg::View. The way to do it is use the project and modelview matrix that are passed as push constants to compute the frustum and then doing the culling from there. There is one caveat, you'll need to use VulkanSceneGraph-1.1.13 or master when using a compute shader as you'll want to nest the compute shader under the View subgraph and support for this was added in 1.1.13. Unfortunately there isn't any vsgExamples code that illustrates the above use of compute shader/mesh shader for culling, something for the future. |
Beta Was this translation helpful? Give feedback.
It may or may not be an advantage for your usage case to perform GPU culling of tiles, this will depend upon a range of factors but as you don't go into any details of your terrain rendering I can't provide any guidance on whether it's appropriate, I would flag up that it might not be the best way to get things running most efficiently.
For tasks like vegetation and heavily instanced objects where there are millions of objects that may need to be rendered then culling on GPU becomes compelling.
For cases where GPU culling is compelling using a compute or mesh shader is possible right now without any modifications to vsg::ViewDependentState or vsg::View. The way to do it is use the project…