6/29/2020 1 Computer Graphics Introduction to the Vulkan Computer Graphics API Mike Bailey
[email protected] This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License http://cs.oregonstate.edu/~mjb/vulkan FULL.pptx mjb – June 25, 2020 2 Course Goals • Give a sense of how Vulkan is different from OpenGL • Show how to do basic drawing in Vulkan • Leave you with working, documented sample code http://cs.oregonstate.edu/~mjb/vulkan mjb – June 25, 2020 1 6/29/2020 3 Mike Bailey • Professor of Computer Science, Oregon State University • Has been in computer graphics for over 30 years • Has had over 8,000 students in his university classes •
[email protected] Welcome! I’m happy to be here. I hope you are too ! http://cs.oregonstate.edu/~mjb/vulkan mjb – June 25, 2020 4 Sections 13.Swap Chain 1. Introduction 14.Push Constants 2. Sample Code 15.Physical Devices 3. Drawing 16.Logical Devices 4. Shaders and SPIR-V 17.Dynamic State Variables 5. Dats Buffers 18.Getting Information Back 6. GLFW 19.Compute Shaders 7. GLM 20.Specialization Constants 8. Instancing 21.Synchronization 9. Graphics Pipeline Data Structure 22.Pipeline Barriers 10.Descriptor Sets 23.Multisampling 11.Textures 24.Multipass 12.Queues and Command Buffers 25.Ray Tracing mjb – June 25, 2020 2 6/29/2020 5 My Favorite Vulkan Reference Graham Sellers, Vulkan Programming Guide, Addison-Wesley, 2017. mjb – June 25, 2020 6 Introduction Mike Bailey
[email protected] http://cs.oregonstate.edu/~mjb/vulkan mjb – June 25, 2020 3 6/29/2020 Acknowledgements 7 First of all, thanks to the inaugural class of 19 students who braved new, unrefined, and just- in-time course materials to take the first Vulkan class at Oregon State University – Winter Quarter, 2018.