/VulkanExamples

Examples and demos for the Vulkan C++ API

Primary LanguageC++MIT LicenseMIT

C++ Vulkan examples and demos

Vulkan demo sceneC++

This is a fork of Sascha Willems excellent Vulkan examples with some modifications.

  • All of the code except for the VulkanDebug stuff has been ported to use the Vulkan C++ API
  • All platform specific code for Windows and Linux has been consolidated to use GLFW 3.2
  • Project files for Visual Studio have been removed in favor of a pure CMake based system
  • Binary files have been removed in favor of CMake external projects
  • Enable validation layers by default when building in debug mode
  • Avoid excessive use of vkDeviceWaitIdle and vkQueueWaitIdle
  • Avoid excessive use of explicit image layout transitions, instead using implicit transitions via the RenderPass and Subpass definitions

Known issues

  • I've only tested so far on Windows using VS 2013, 2015 & VS 2017.
  • I'm still cleaning up after the migration to Vulkan.hpp so the code isn't as clean as it could be. Lots of unnecessary function parameters and structure assignments remain

Building

Use the provided CMakeLists.txt for use with CMake to generate a build configuration for your toolchain. Using 64 bit builds is strongly recommended.

Examples

This information comes from the original repository readme

Credits

This information comes from the original repository readme

Thanks to the authors of these libraries :

And a huge thanks to the Vulkan Working Group, Vulkan Advisory Panel, the fine people at LunarG, Baldur Karlsson (RenderDoc) and everyone from the different IHVs that helped me get the examples up and working on their hardware!

Attributions / Licenses

Please note that (some) models and textures use separate licenses. Please comply to these when redistributing or using them in your own projects :

External resources