scop
a small 3D object loader
Loading...
Searching...
No Matches
VulkanApp Class Reference

#include <VulkanApp.hpp>

Collaboration diagram for VulkanApp:

Public Member Functions

void run (const std::string &objFile1)
 

Private Types

enum  ColorMode {
  RED , GREEN , BLUE , DARK ,
  BLACK , NONE
}
 

Private Member Functions

void initWindow ()
 
void initVulkan ()
 
void mainLoop ()
 
bool checkValidationLayerSupport ()
 
std::vector< const char * > getRequiredExtensions ()
 
void createInstance ()
 
void createSurface ()
 
bool checkDeviceExtensionSupport (VkPhysicalDevice device)
 
bool isDeviceSuitable (VkPhysicalDevice device)
 
void pickPhysicalDevice ()
 
void createLogicalDevice ()
 
VkPresentModeKHR chooseSwapPresentMode (const std::vector< VkPresentModeKHR > &availablePresentModes)
 
VkExtent2D chooseSwapExtent (const VkSurfaceCapabilitiesKHR &capabilities)
 
SwapChainSupportDetails querySwapChainSupport (VkPhysicalDevice device)
 
void createSwapChain ()
 
void recreateSwapChain ()
 
void cleanup ()
 
void cleanupSwapChain ()
 
void cleanupVertexBuffer ()
 
void populateDebugMessengerCreateInfo (VkDebugUtilsMessengerCreateInfoEXT &createInfo)
 
void setupDebugMessenger ()
 
void createRenderPass ()
 
VkShaderModule createShaderModule (const std::vector< char > &code)
 
void createGraphicsPipeline ()
 
void createDescriptorSetLayout ()
 
void createUniformBuffers ()
 
void updateUniformBuffer (uint32_t currentImage)
 
void createDescriptorPool ()
 
void createDescriptorSets ()
 
void createFramebuffers ()
 
void createCommandPool ()
 
void createCommandBuffers ()
 
void recordCommandBuffer (VkCommandBuffer commandBuffer, uint32_t imageIndex)
 
void createSyncObjects ()
 
void drawFrame ()
 
VkCommandBuffer beginSingleTimeCommands ()
 
void endSingleTimeCommands (VkCommandBuffer commandBuffer)
 
void createColorResources ()
 
void createDepthResources ()
 
void createVertexBuffer ()
 
void updateVertexBuffer ()
 
uint32_t findMemoryType (uint32_t typeFilter, VkMemoryPropertyFlags properties)
 
void createBuffer (VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer &buffer, VkDeviceMemory &bufferMemory)
 
void copyBuffer (VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size)
 
void createIndexBuffer ()
 
void createTextureImage ()
 
void generateMipmaps (VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels)
 
void createImage (uint32_t width, uint32_t height, uint32_t mipLevels, VkSampleCountFlagBits numSamples, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory)
 
void transitionImageLayout (VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels)
 
void copyBufferToImage (VkBuffer buffer, VkImage image, uint32_t width, uint32_t height)
 
void createImageViews ()
 
VkSampleCountFlagBits getMaxUsableSampleCount ()
 
void createTextureImageView ()
 
VkImageView createImageView (VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mipLevels)
 
void createTextureSampler ()
 
VkFormat findSupportedFormat (const std::vector< VkFormat > &candidates, VkImageTiling tiling, VkFormatFeatureFlags features)
 
VkFormat findDepthFormat ()
 
bool hasStencilComponent (VkFormat format)
 
void parseObjFile (const std::string &filename)
 
void parseMtlFile (const std::string &objFilePath, const std::string &mtlFilename)
 
QueueFamilyIndices findQueueFamilies (VkPhysicalDevice device)
 
void transitionTextures ()
 
void enableDarkMode ()
 

Static Private Member Functions

static std::vector< char > readFile (const std::string &filename)
 
static void keyCallback (GLFWwindow *window, int key, int scancode, int action, int mods)
 
static void mouseButtonCallback (GLFWwindow *window, int button, int action, int mods)
 
static void cursorPosCallback (GLFWwindow *window, double xpos, double ypos)
 
static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
 
static void framebufferResizeCallback (GLFWwindow *window, int width, int height)
 

Private Attributes

GLFWwindow * window
 
Camera cameraView
 
vec3 positionModel
 
vec3 rotationModel {0, 0, 1}
 
vec3 modelCentroid
 
double lastMouseX = 0.0
 
double lastMouseY = 0.0
 
bool mouseDrag = false
 
bool disable_textures = false
 
bool transition_over = true
 
ColorMode colorMode = NONE
 
std::vector< Vertexvertices
 
std::vector< uint32_t > indices
 
VkInstance instance
 
VkDebugUtilsMessengerEXT debugMessenger
 
VkSurfaceKHR surface
 
VkPhysicalDevice physicalDevice = VK_NULL_HANDLE
 
VkSampleCountFlagBits msaaSamples = VK_SAMPLE_COUNT_1_BIT
 
VkDevice device
 
VkQueue graphicsQueue
 
VkQueue presentQueue
 
VkSwapchainKHR swapChain
 
std::vector< VkImage > swapChainImages
 
VkFormat swapChainImageFormat
 
VkExtent2D swapChainExtent
 
std::vector< VkImageView > swapChainImageViews
 
std::vector< VkFramebuffer > swapChainFramebuffers
 
VkRenderPass renderPass
 
VkDescriptorSetLayout descriptorSetLayout
 
VkPipelineLayout pipelineLayout
 
VkPipeline graphicsPipeline
 
VkImage depthImage
 
VkDeviceMemory depthImageMemory
 
VkImageView depthImageView
 
uint32_t mipLevels
 
VkImage textureImage
 
VkDeviceMemory textureImageMemory
 
VkImageView textureImageView
 
VkSampler textureSampler
 
VkBuffer vertexBuffer
 
VkDeviceMemory vertexBufferMemory
 
VkBuffer indexBuffer
 
VkDeviceMemory indexBufferMemory
 
std::vector< VkBuffer > uniformBuffers
 
std::vector< VkDeviceMemory > uniformBuffersMemory
 
std::vector< void * > uniformBuffersMapped
 
VkDescriptorPool descriptorPool
 
std::vector< VkDescriptorSet > descriptorSets
 
VkCommandPool commandPool
 
std::vector< VkCommandBuffer > commandBuffers
 
VkImage colorImage
 
VkDeviceMemory colorImageMemory
 
VkImageView colorImageView
 
std::vector< VkSemaphore > imageAvailableSemaphores
 
std::vector< VkSemaphore > renderFinishedSemaphores
 
std::vector< VkFence > inFlightFences
 
size_t currentFrame = 0
 
bool framebufferResized = false
 
VkPrimitiveTopology topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
 

Detailed Description

Definition at line 192 of file VulkanApp.hpp.

Member Enumeration Documentation

◆ ColorMode

enum VulkanApp::ColorMode
private
Enumerator
RED 
GREEN 
BLUE 
DARK 
BLACK 
NONE 

Definition at line 217 of file VulkanApp.hpp.

Member Function Documentation

◆ beginSingleTimeCommands()

VkCommandBuffer VulkanApp::beginSingleTimeCommands ( )
private

Definition at line 210 of file VulkanRender.cpp.

Here is the caller graph for this function:

◆ checkDeviceExtensionSupport()

bool VulkanApp::checkDeviceExtensionSupport ( VkPhysicalDevice device)
private

Definition at line 185 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ checkValidationLayerSupport()

bool VulkanApp::checkValidationLayerSupport ( )
private

Definition at line 87 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ chooseSwapExtent()

VkExtent2D VulkanApp::chooseSwapExtent ( const VkSurfaceCapabilitiesKHR & capabilities)
private

Definition at line 308 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ chooseSwapPresentMode()

VkPresentModeKHR VulkanApp::chooseSwapPresentMode ( const std::vector< VkPresentModeKHR > & availablePresentModes)
private

Definition at line 298 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ cleanup()

void VulkanApp::cleanup ( )
private

Definition at line 15 of file VulkanClean.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cleanupSwapChain()

void VulkanApp::cleanupSwapChain ( )
private

Definition at line 65 of file VulkanClean.cpp.

Here is the caller graph for this function:

◆ cleanupVertexBuffer()

void VulkanApp::cleanupVertexBuffer ( )
private

Definition at line 85 of file VulkanClean.cpp.

◆ copyBuffer()

void VulkanApp::copyBuffer ( VkBuffer srcBuffer,
VkBuffer dstBuffer,
VkDeviceSize size )
private

Definition at line 98 of file VulkanVertex.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ copyBufferToImage()

void VulkanApp::copyBufferToImage ( VkBuffer buffer,
VkImage image,
uint32_t width,
uint32_t height )
private

Definition at line 222 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createBuffer()

void VulkanApp::createBuffer ( VkDeviceSize size,
VkBufferUsageFlags usage,
VkMemoryPropertyFlags properties,
VkBuffer & buffer,
VkDeviceMemory & bufferMemory )
private

Definition at line 71 of file VulkanVertex.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createColorResources()

void VulkanApp::createColorResources ( )
private

Definition at line 243 of file VulkanRender.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createCommandBuffers()

void VulkanApp::createCommandBuffers ( )
private

Definition at line 53 of file VulkanRender.cpp.

Here is the caller graph for this function:

◆ createCommandPool()

void VulkanApp::createCommandPool ( )
private

Definition at line 40 of file VulkanRender.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createDepthResources()

void VulkanApp::createDepthResources ( )
private

Definition at line 250 of file VulkanRender.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createDescriptorPool()

void VulkanApp::createDescriptorPool ( )
private

Definition at line 303 of file VulkanPipeline.cpp.

Here is the caller graph for this function:

◆ createDescriptorSetLayout()

void VulkanApp::createDescriptorSetLayout ( )
private

Definition at line 237 of file VulkanPipeline.cpp.

Here is the caller graph for this function:

◆ createDescriptorSets()

void VulkanApp::createDescriptorSets ( )
private

Definition at line 321 of file VulkanPipeline.cpp.

Here is the caller graph for this function:

◆ createFramebuffers()

void VulkanApp::createFramebuffers ( )
private

Definition at line 15 of file VulkanRender.cpp.

Here is the caller graph for this function:

◆ createGraphicsPipeline()

void VulkanApp::createGraphicsPipeline ( )
private

Definition at line 102 of file VulkanPipeline.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createImage()

void VulkanApp::createImage ( uint32_t width,
uint32_t height,
uint32_t mipLevels,
VkSampleCountFlagBits numSamples,
VkFormat format,
VkImageTiling tiling,
VkImageUsageFlags usage,
VkMemoryPropertyFlags properties,
VkImage & image,
VkDeviceMemory & imageMemory )
private

Definition at line 138 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createImageView()

VkImageView VulkanApp::createImageView ( VkImage image,
VkFormat format,
VkImageAspectFlags aspectFlags,
uint32_t mipLevels )
private

Definition at line 272 of file VulkanTexture.cpp.

Here is the caller graph for this function:

◆ createImageViews()

void VulkanApp::createImageViews ( )
private

Definition at line 245 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createIndexBuffer()

void VulkanApp::createIndexBuffer ( )
private

Definition at line 15 of file VulkanIndex.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createInstance()

void VulkanApp::createInstance ( )
private

Definition at line 133 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createLogicalDevice()

void VulkanApp::createLogicalDevice ( )
private

Definition at line 242 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createRenderPass()

void VulkanApp::createRenderPass ( )
private

Definition at line 15 of file VulkanPipeline.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createShaderModule()

VkShaderModule VulkanApp::createShaderModule ( const std::vector< char > & code)
private

Definition at line 88 of file VulkanPipeline.cpp.

Here is the caller graph for this function:

◆ createSurface()

void VulkanApp::createSurface ( )
private

Definition at line 179 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ createSwapChain()

void VulkanApp::createSwapChain ( )
private

Definition at line 351 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createSyncObjects()

void VulkanApp::createSyncObjects ( )
private

Definition at line 124 of file VulkanRender.cpp.

Here is the caller graph for this function:

◆ createTextureImage()

void VulkanApp::createTextureImage ( )
private

Definition at line 15 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createTextureImageView()

void VulkanApp::createTextureImageView ( )
private

Definition at line 268 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createTextureSampler()

void VulkanApp::createTextureSampler ( )
private

Definition at line 292 of file VulkanTexture.cpp.

Here is the caller graph for this function:

◆ createUniformBuffers()

void VulkanApp::createUniformBuffers ( )
private

Definition at line 263 of file VulkanPipeline.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createVertexBuffer()

void VulkanApp::createVertexBuffer ( )
private

Definition at line 15 of file VulkanVertex.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cursorPosCallback()

static void VulkanApp::cursorPosCallback ( GLFWwindow * window,
double xpos,
double ypos )
inlinestaticprivate

Definition at line 558 of file VulkanApp.hpp.

Here is the caller graph for this function:

◆ debugCallback()

static VKAPI_ATTR VkBool32 VKAPI_CALL VulkanApp::debugCallback ( VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageType,
const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData,
void * pUserData )
inlinestaticprivate

Definition at line 605 of file VulkanApp.hpp.

Here is the caller graph for this function:

◆ drawFrame()

void VulkanApp::drawFrame ( )
private

Definition at line 146 of file VulkanRender.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enableDarkMode()

void VulkanApp::enableDarkMode ( )
private

Definition at line 108 of file VulkanVertex.cpp.

Here is the caller graph for this function:

◆ endSingleTimeCommands()

void VulkanApp::endSingleTimeCommands ( VkCommandBuffer commandBuffer)
private

Definition at line 229 of file VulkanRender.cpp.

Here is the caller graph for this function:

◆ findDepthFormat()

VkFormat VulkanApp::findDepthFormat ( )
private

Definition at line 334 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findMemoryType()

uint32_t VulkanApp::findMemoryType ( uint32_t typeFilter,
VkMemoryPropertyFlags properties )
private

Definition at line 58 of file VulkanVertex.cpp.

Here is the caller graph for this function:

◆ findQueueFamilies()

QueueFamilyIndices VulkanApp::findQueueFamilies ( VkPhysicalDevice device)
inlineprivate

Definition at line 573 of file VulkanApp.hpp.

Here is the caller graph for this function:

◆ findSupportedFormat()

VkFormat VulkanApp::findSupportedFormat ( const std::vector< VkFormat > & candidates,
VkImageTiling tiling,
VkFormatFeatureFlags features )
private

Definition at line 319 of file VulkanTexture.cpp.

Here is the caller graph for this function:

◆ framebufferResizeCallback()

static void VulkanApp::framebufferResizeCallback ( GLFWwindow * window,
int width,
int height )
inlinestaticprivate

Definition at line 613 of file VulkanApp.hpp.

Here is the caller graph for this function:

◆ generateMipmaps()

void VulkanApp::generateMipmaps ( VkImage image,
VkFormat imageFormat,
int32_t texWidth,
int32_t texHeight,
uint32_t mipLevels )
private

Definition at line 51 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMaxUsableSampleCount()

VkSampleCountFlagBits VulkanApp::getMaxUsableSampleCount ( )
private

Definition at line 253 of file VulkanTexture.cpp.

Here is the caller graph for this function:

◆ getRequiredExtensions()

std::vector< const char * > VulkanApp::getRequiredExtensions ( )
private

Definition at line 119 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ hasStencilComponent()

bool VulkanApp::hasStencilComponent ( VkFormat format)
private

Definition at line 342 of file VulkanTexture.cpp.

◆ initVulkan()

void VulkanApp::initVulkan ( )
private

Definition at line 60 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initWindow()

void VulkanApp::initWindow ( )
private

Definition at line 23 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isDeviceSuitable()

bool VulkanApp::isDeviceSuitable ( VkPhysicalDevice device)
private

Definition at line 201 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ keyCallback()

static void VulkanApp::keyCallback ( GLFWwindow * window,
int key,
int scancode,
int action,
int mods )
inlinestaticprivate

Definition at line 401 of file VulkanApp.hpp.

Here is the caller graph for this function:

◆ mainLoop()

void VulkanApp::mainLoop ( )
private

Definition at line 36 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mouseButtonCallback()

static void VulkanApp::mouseButtonCallback ( GLFWwindow * window,
int button,
int action,
int mods )
inlinestaticprivate

Definition at line 544 of file VulkanApp.hpp.

Here is the caller graph for this function:

◆ parseMtlFile()

void VulkanApp::parseMtlFile ( const std::string & objFilePath,
const std::string & mtlFilename )
private

Definition at line 172 of file Parsing.cpp.

Here is the caller graph for this function:

◆ parseObjFile()

void VulkanApp::parseObjFile ( const std::string & filename)
private

Definition at line 15 of file Parsing.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pickPhysicalDevice()

void VulkanApp::pickPhysicalDevice ( )
private

Definition at line 218 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ populateDebugMessengerCreateInfo()

void VulkanApp::populateDebugMessengerCreateInfo ( VkDebugUtilsMessengerCreateInfoEXT & createInfo)
private

Definition at line 42 of file VulkanDebug.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ querySwapChainSupport()

SwapChainSupportDetails VulkanApp::querySwapChainSupport ( VkPhysicalDevice device)
private

Definition at line 327 of file VulkanInit.cpp.

Here is the caller graph for this function:

◆ readFile()

std::vector< char > VulkanApp::readFile ( const std::string & filename)
staticprivate

Definition at line 258 of file Parsing.cpp.

Here is the caller graph for this function:

◆ recordCommandBuffer()

void VulkanApp::recordCommandBuffer ( VkCommandBuffer commandBuffer,
uint32_t imageIndex )
private

Definition at line 67 of file VulkanRender.cpp.

Here is the caller graph for this function:

◆ recreateSwapChain()

void VulkanApp::recreateSwapChain ( )
private

Definition at line 404 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

void VulkanApp::run ( const std::string & objFile1)

Definition at line 15 of file VulkanInit.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupDebugMessenger()

void VulkanApp::setupDebugMessenger ( )
private

Definition at line 31 of file VulkanDebug.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transitionImageLayout()

void VulkanApp::transitionImageLayout ( VkImage image,
VkFormat format,
VkImageLayout oldLayout,
VkImageLayout newLayout,
uint32_t mipLevels )
private

Definition at line 173 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transitionTextures()

void VulkanApp::transitionTextures ( )
private

Definition at line 346 of file VulkanTexture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateUniformBuffer()

void VulkanApp::updateUniformBuffer ( uint32_t currentImage)
private

Definition at line 277 of file VulkanPipeline.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateVertexBuffer()

void VulkanApp::updateVertexBuffer ( )
private

Definition at line 38 of file VulkanVertex.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ cameraView

Camera VulkanApp::cameraView
private
Initial value:
{
vec3(5.0f, 0.0f, 5.0f),
vec3(0.0f, 0.0f, 0.0f),
vec3(0.0f, 1.0f, 0.0f)
}
Definition Math.hpp:65

Definition at line 199 of file VulkanApp.hpp.

◆ colorImage

VkImage VulkanApp::colorImage
private

Definition at line 279 of file VulkanApp.hpp.

◆ colorImageMemory

VkDeviceMemory VulkanApp::colorImageMemory
private

Definition at line 280 of file VulkanApp.hpp.

◆ colorImageView

VkImageView VulkanApp::colorImageView
private

Definition at line 281 of file VulkanApp.hpp.

◆ colorMode

ColorMode VulkanApp::colorMode = NONE
private

Definition at line 226 of file VulkanApp.hpp.

◆ commandBuffers

std::vector<VkCommandBuffer> VulkanApp::commandBuffers
private

Definition at line 277 of file VulkanApp.hpp.

◆ commandPool

VkCommandPool VulkanApp::commandPool
private

Definition at line 276 of file VulkanApp.hpp.

◆ currentFrame

size_t VulkanApp::currentFrame = 0
private

Definition at line 286 of file VulkanApp.hpp.

◆ debugMessenger

VkDebugUtilsMessengerEXT VulkanApp::debugMessenger
private

Definition at line 232 of file VulkanApp.hpp.

◆ depthImage

VkImage VulkanApp::depthImage
private

Definition at line 254 of file VulkanApp.hpp.

◆ depthImageMemory

VkDeviceMemory VulkanApp::depthImageMemory
private

Definition at line 255 of file VulkanApp.hpp.

◆ depthImageView

VkImageView VulkanApp::depthImageView
private

Definition at line 256 of file VulkanApp.hpp.

◆ descriptorPool

VkDescriptorPool VulkanApp::descriptorPool
private

Definition at line 273 of file VulkanApp.hpp.

◆ descriptorSetLayout

VkDescriptorSetLayout VulkanApp::descriptorSetLayout
private

Definition at line 250 of file VulkanApp.hpp.

◆ descriptorSets

std::vector<VkDescriptorSet> VulkanApp::descriptorSets
private

Definition at line 274 of file VulkanApp.hpp.

◆ device

VkDevice VulkanApp::device
private

Definition at line 237 of file VulkanApp.hpp.

◆ disable_textures

bool VulkanApp::disable_textures = false
private

Definition at line 214 of file VulkanApp.hpp.

◆ framebufferResized

bool VulkanApp::framebufferResized = false
private

Definition at line 288 of file VulkanApp.hpp.

◆ graphicsPipeline

VkPipeline VulkanApp::graphicsPipeline
private

Definition at line 252 of file VulkanApp.hpp.

◆ graphicsQueue

VkQueue VulkanApp::graphicsQueue
private

Definition at line 239 of file VulkanApp.hpp.

◆ imageAvailableSemaphores

std::vector<VkSemaphore> VulkanApp::imageAvailableSemaphores
private

Definition at line 283 of file VulkanApp.hpp.

◆ indexBuffer

VkBuffer VulkanApp::indexBuffer
private

Definition at line 266 of file VulkanApp.hpp.

◆ indexBufferMemory

VkDeviceMemory VulkanApp::indexBufferMemory
private

Definition at line 267 of file VulkanApp.hpp.

◆ indices

std::vector<uint32_t> VulkanApp::indices
private

Definition at line 229 of file VulkanApp.hpp.

◆ inFlightFences

std::vector<VkFence> VulkanApp::inFlightFences
private

Definition at line 285 of file VulkanApp.hpp.

◆ instance

VkInstance VulkanApp::instance
private

Definition at line 231 of file VulkanApp.hpp.

◆ lastMouseX

double VulkanApp::lastMouseX = 0.0
private

Definition at line 211 of file VulkanApp.hpp.

◆ lastMouseY

double VulkanApp::lastMouseY = 0.0
private

Definition at line 212 of file VulkanApp.hpp.

◆ mipLevels

uint32_t VulkanApp::mipLevels
private

Definition at line 258 of file VulkanApp.hpp.

◆ modelCentroid

vec3 VulkanApp::modelCentroid
private

Definition at line 209 of file VulkanApp.hpp.

◆ mouseDrag

bool VulkanApp::mouseDrag = false
private

Definition at line 213 of file VulkanApp.hpp.

◆ msaaSamples

VkSampleCountFlagBits VulkanApp::msaaSamples = VK_SAMPLE_COUNT_1_BIT
private

Definition at line 236 of file VulkanApp.hpp.

◆ physicalDevice

VkPhysicalDevice VulkanApp::physicalDevice = VK_NULL_HANDLE
private

Definition at line 235 of file VulkanApp.hpp.

◆ pipelineLayout

VkPipelineLayout VulkanApp::pipelineLayout
private

Definition at line 251 of file VulkanApp.hpp.

◆ positionModel

vec3 VulkanApp::positionModel
private

Definition at line 205 of file VulkanApp.hpp.

◆ presentQueue

VkQueue VulkanApp::presentQueue
private

Definition at line 240 of file VulkanApp.hpp.

◆ renderFinishedSemaphores

std::vector<VkSemaphore> VulkanApp::renderFinishedSemaphores
private

Definition at line 284 of file VulkanApp.hpp.

◆ renderPass

VkRenderPass VulkanApp::renderPass
private

Definition at line 249 of file VulkanApp.hpp.

◆ rotationModel

vec3 VulkanApp::rotationModel {0, 0, 1}
private

Definition at line 206 of file VulkanApp.hpp.

◆ surface

VkSurfaceKHR VulkanApp::surface
private

Definition at line 233 of file VulkanApp.hpp.

◆ swapChain

VkSwapchainKHR VulkanApp::swapChain
private

Definition at line 242 of file VulkanApp.hpp.

◆ swapChainExtent

VkExtent2D VulkanApp::swapChainExtent
private

Definition at line 245 of file VulkanApp.hpp.

◆ swapChainFramebuffers

std::vector<VkFramebuffer> VulkanApp::swapChainFramebuffers
private

Definition at line 247 of file VulkanApp.hpp.

◆ swapChainImageFormat

VkFormat VulkanApp::swapChainImageFormat
private

Definition at line 244 of file VulkanApp.hpp.

◆ swapChainImages

std::vector<VkImage> VulkanApp::swapChainImages
private

Definition at line 243 of file VulkanApp.hpp.

◆ swapChainImageViews

std::vector<VkImageView> VulkanApp::swapChainImageViews
private

Definition at line 246 of file VulkanApp.hpp.

◆ textureImage

VkImage VulkanApp::textureImage
private

Definition at line 259 of file VulkanApp.hpp.

◆ textureImageMemory

VkDeviceMemory VulkanApp::textureImageMemory
private

Definition at line 260 of file VulkanApp.hpp.

◆ textureImageView

VkImageView VulkanApp::textureImageView
private

Definition at line 261 of file VulkanApp.hpp.

◆ textureSampler

VkSampler VulkanApp::textureSampler
private

Definition at line 262 of file VulkanApp.hpp.

◆ topology

VkPrimitiveTopology VulkanApp::topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
private

Definition at line 290 of file VulkanApp.hpp.

◆ transition_over

bool VulkanApp::transition_over = true
private

Definition at line 215 of file VulkanApp.hpp.

◆ uniformBuffers

std::vector<VkBuffer> VulkanApp::uniformBuffers
private

Definition at line 269 of file VulkanApp.hpp.

◆ uniformBuffersMapped

std::vector<void*> VulkanApp::uniformBuffersMapped
private

Definition at line 271 of file VulkanApp.hpp.

◆ uniformBuffersMemory

std::vector<VkDeviceMemory> VulkanApp::uniformBuffersMemory
private

Definition at line 270 of file VulkanApp.hpp.

◆ vertexBuffer

VkBuffer VulkanApp::vertexBuffer
private

Definition at line 264 of file VulkanApp.hpp.

◆ vertexBufferMemory

VkDeviceMemory VulkanApp::vertexBufferMemory
private

Definition at line 265 of file VulkanApp.hpp.

◆ vertices

std::vector<Vertex> VulkanApp::vertices
private

Definition at line 228 of file VulkanApp.hpp.

◆ window

GLFWwindow* VulkanApp::window
private

Definition at line 197 of file VulkanApp.hpp.


The documentation for this class was generated from the following files: