summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmniscient <17525998+omnisci3nce@users.noreply.github.com>2024-03-30 23:14:39 +1100
committerOmniscient <17525998+omnisci3nce@users.noreply.github.com>2024-03-30 23:14:39 +1100
commitc20740ecbb008afbe93c7fa1eb35851cedc6eb42 (patch)
treec6d6542190793b2ab7103c910471b5af7443d2ff
parent2c55e9a73ae1321c14f5186ecc75ac949ad19bbd (diff)
vulkan glossary
-rw-r--r--examples/input/ex_input.c2
-rw-r--r--src/renderer/backends/vulkan/vulkan_glossary.md18
2 files changed, 19 insertions, 1 deletions
diff --git a/examples/input/ex_input.c b/examples/input/ex_input.c
index 4bbf76a..7ead3ec 100644
--- a/examples/input/ex_input.c
+++ b/examples/input/ex_input.c
@@ -12,7 +12,7 @@
typedef struct game_state {
camera camera;
vec3 camera_euler;
- bool first_mouse_update;
+ bool first_mouse_update; // so the camera doesnt lurch when you run the first process_camera_rotation
} game_state;
void update_camera_rotation(input_state* input, game_state* game, camera* cam);
diff --git a/src/renderer/backends/vulkan/vulkan_glossary.md b/src/renderer/backends/vulkan/vulkan_glossary.md
new file mode 100644
index 0000000..4214f9d
--- /dev/null
+++ b/src/renderer/backends/vulkan/vulkan_glossary.md
@@ -0,0 +1,18 @@
+# Vulkan Glossary
+
+*from https://vkguide.dev/docs/introduction/vulkan_execution/*
+
+- **VkInstance**: The Vulkan context, used to access drivers.
+- **VkPhysicalDevice**: A GPU. Used to query physical GPU details, like features, capabilities, memory size, etc.
+- **VkDevice**: The “logical” GPU context that you actually execute things on.
+- **VkBuffer**: A chunk of GPU visible memory.
+- **VkImage**: A texture you can write to and read from.
+- **VkPipeline**: Holds the state of the gpu needed to draw. For example: shaders, rasterization options, depth settings.
+- **VkRenderPass**: Holds information about the images you are rendering into. All drawing commands have to be done inside a renderpass. Only used in legacy vkguide.
+- **VkFrameBuffer**: Holds the target images for a renderpass. Only used in legacy vkguide.
+- **VkCommandBuffer**: Encodes GPU commands. All execution that is performed on the GPU itself (not in the driver) has to be encoded in a VkCommandBuffer.
+- **VkQueue**: Execution “port” for commands. GPUs will have a set of queues with different properties. Some allow only graphics commands, others only allow memory commands, etc. Command buffers are executed by submitting them into a queue, which will copy the rendering commands onto the GPU for execution.
+- **VkDescriptorSet**: Holds the binding information that connects shader inputs to data such as VkBuffer resources and VkImage textures. Think of it as a set of gpu-side pointers that you bind once.
+- **VkSwapchainKHR**: Holds the images for the screen. It allows you to render things into a visible window. The KHR suffix shows that it comes from an extension, which in this case is VK_KHR_swapchain.
+- **VkSemaphore**: Synchronizes GPU to GPU execution of commands. Used for syncing multiple command buffer submissions one after another.
+- **VkFence**: Synchronizes GPU to CPU execution of commands. Used to know if a command buffer has finished being executed on the GPU.