Working with shape lists in Vulkan
While a scene graph is a useful conceptual representation of a three-dimensional (3D) scene, it is not entirely suitable for GPU processing. We have already dealt with the linearization of a scene graph; now, it's time to prepare another list of renderable items, which we call shapes. This term coined the Advanced Scenegraph Rendering Pipeline presentation by Markus Tavenrath and Christoph Kubisch from NVIDIA. This list only contains references to packed meshes, introduced in Chapter 5, Working with Geometry Data, and material representation, discussed in the Implementing a material system recipe from Chapter 7, Graphics Rendering Pipeline. This improvement will allow us to use our MultiRenderer
class with more complex scenes.
Getting ready
The implementation of this recipe describes the MultiRenderer
class, which is a modification and an upgrade of MultiMeshRenderer
from Chapter 5, Working with Geometry Data. Following our framework structure...