|
libmx2 2.2.1
C++20 multimedia and game-engine library (SDL2 / OpenGL / Vulkan)
|
Vulkan application window and supporting structs for libmx. More...
#include "config.h"#include <SDL_vulkan.h>#include <vulkan/vulkan.h>#include "exception.hpp"#include "util.hpp"#include "vk_text.hpp"#include "vk_sprite.hpp"#include <iostream>#include <stdexcept>#include <cstdlib>#include <vector>#include <optional>#include <set>#include <fstream>#include <algorithm>#include <array>#include <cmath>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/gtc/type_ptr.hpp>#include <map>#include <utility>#include <SDL_ttf.h>#include <memory>Go to the source code of this file.
Classes | |
| struct | mx::Vertex |
| Per-vertex data sent to the Vulkan vertex buffer. More... | |
| struct | mx::QueueFamilyIndices |
| Tracks Vulkan queue family assignments needed to create a device. More... | |
| struct | mx::SwapChainSupportDetails |
| Swapchain capabilities and format/mode candidates for a physical device. More... | |
| struct | mx::UniformBufferObject |
| Standard UBO layout uploaded to shaders each frame. More... | |
| class | mx::VKWindow |
| Primary Vulkan rendering window and device management class. More... | |
Namespaces | |
| namespace | mx |
Macros | |
| #define | M_PI 3.14159265358979323846 |
| #define | VK_CHECK_RESULT(f) |
Vulkan application window and supporting structs for libmx.
Provides VKWindow, the primary Vulkan rendering window, along with supporting data structures (Vertex, QueueFamilyIndices, SwapChainSupportDetails, UniformBufferObject). Sprite and text rendering are delegated to VKSprite and VKText respectively.
Definition in file vk.hpp.
| #define VK_CHECK_RESULT | ( | f | ) |
Definition at line 47 of file vk.hpp.
Referenced by mx::VKSprite::beginSingleTimeCommands(), mx::VKText::beginSingleTimeCommands(), mx::VKWindow::beginSingleTimeCommands(), mx::VKText::clearQueue(), mx::VKWindow::copyBuffer(), mx::VKSprite::createBuffer(), mx::VKText::createBuffer(), mx::VKSprite::createCustomPipeline(), mx::VKSprite::createDescriptorPool(), mx::VKText::createDescriptorPool(), mx::VKSprite::createDescriptorSet(), mx::VKText::createDescriptorSet(), mx::VKSprite::createEmptySprite(), mx::VKSprite::createExtendedDescriptorSet(), mx::VKSprite::createExtendedDescriptorSetLayout(), mx::VKSprite::createExtendedUBO(), mx::VKSprite::createImage(), mx::VKText::createImage(), mx::VKSprite::createImageView(), mx::VKText::createImageView(), mx::VKWindow::createInstance(), mx::VKSprite::createInstancedPipeline(), mx::VKSprite::createQuadBuffer(), mx::VKSprite::createSampler(), mx::VKSprite::createShaderModule(), mx::VKWindow::createSpriteDescriptorPool(), mx::VKWindow::createSpriteDescriptorSetLayout(), mx::VKWindow::createSpritePipeline(), mx::VKSprite::createSpriteTexture(), mx::VKSprite::createStagingResources(), mx::VKWindow::createTextDescriptorPool(), mx::VKWindow::createTextDescriptorSetLayout(), mx::VKWindow::createTextPipeline(), mx::VKWindow::createTextureImage(), mx::VKWindow::createUniformBuffers(), mx::VKWindow::draw(), mx::VKSprite::endSingleTimeCommands(), mx::VKText::endSingleTimeCommands(), mx::VKWindow::endSingleTimeCommands(), mx::VKSprite::ensureInstanceBuffer(), mx::VKText::initFont(), mx::VKText::printTextG_Solid(), mx::VKSprite::updateSpriteTexture(), and mx::VKWindow::updateTexture().