ugheghehgeg

This commit is contained in:
Mars 2024-10-02 17:45:51 -04:00
commit a5d385f418
Signed by: pupbrained
GPG key ID: 874E22DF2F9DFCB5
2 changed files with 38 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

38
VulkanNotes.org Normal file
View file

@ -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