Summary

In this chapter, we learned about the various pipelines available in the Vulkan API. We understood the graphics and compute pipelines and implemented one of the former in our sample example. We also learned about the pipeline cache object, which is a pool of pipelines that help in achieving better performance. The pipeline cache object can be stored in binary form and can be later uploaded and reused between application runs.

The graphics pipeline comprises many pipeline state objects. In this chapter, we covered all the states in detail along with their implementation. As part of these pipeline state objects, we discussed the dynamics state, vertex input state, input assembly state, rasterization, blending, viewport management, depth and stencil test, and multisampling state.

Finally, we used the pipeline cache object and pipeline state objects to build a graphics pipeline object.

In the next chapter, we will make use of the created graphics pipeline object and render our first Vulkan drawing object on the display. Drawing the object consists of two major tasks: preparing and rendering the drawing object. The preparation includes defining the Render Pass, binding the graphics pipeline, supplying geometry, viewport/scissoring, and building the drawing commands. While rendering, a swapchain is acquired and the prepared drawing commands are executed; this renders the drawing object on the presentation layer. In addition, we will understand Vulkan synchronization primitives; at this point, we will discuss fences, semaphores, and events.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.245.1