commit a5d385f418dbb1886ffcfbd8acef573598a04bf8 Author: Mars Date: Wed Oct 2 17:45:51 2024 -0400 ugheghehgeg diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..8975cd5 Binary files /dev/null and b/.DS_Store differ diff --git a/VulkanNotes.org b/VulkanNotes.org new file mode 100644 index 0000000..99f1207 --- /dev/null +++ b/VulkanNotes.org @@ -0,0 +1,38 @@ +#+TITLE: Vulkan Notes +#+AUTHOR: Mars (@pupbrained) +#+EMAIL: mars@pupbrained.xyz + +* Main Data Structures + +** Instance +*** The most important part + +- Purpose :: Serves as the connection between the application and Vulkan itself. +- Usage :: Call src_c++{vk::CreateInstance} and pass in an src_c++{InstanceCreateInfo} object + - Note :: Anything starting with src_c++{p} / src_c++{pp} is a pointer / pointer to a pointer, respectively. + +#+begin_src c++ + vk::ApplicationInfo appInfo { + .pApplicationName = "Vulkan App", // App name + .applicationVersion = 1, // App version + .pEngineName = "No Engine", // Engine name + .engineVersion = 1, // Engine version + .apiVersion = vk::ApiVersion10 // API compatibility version + }; + + vk::InstanceCreateInfo createInfo { + .pApplicationInfo = &appInfo, // ApplicationInfo object + .enabledLayerCount = 0, // # of enabled layers + .ppEnabledLayerNames = nullptr, // Names of enabled layers + .enabledExtensionCount = 0, // # of enabled extensions + .ppEnabledExtensionNames = nullptr // Names of enabled extensions + }; + + vk::Instance instance = vk::createInstance(createInfo); +#+end_src + +** DebugUtilsMessenger +*** Used by validation layers + +** CreateInfo +*** Information for creation of various objects