cpp-vulkan-setup/src/VulkanRenderer.h

36 lines
956 B
C
Raw Permalink Normal View History

2022-01-13 22:06:09 +00:00
#ifndef VULKANCPPSETUP_VULKANRENDERER_H
#define VULKANCPPSETUP_VULKANRENDERER_H
2022-01-20 22:37:04 +00:00
#include "WorldView.h"
2022-01-18 20:28:25 +00:00
#include "ShaderLoader.h"
2022-01-20 22:37:04 +00:00
#include "UniformBuffers.h"
2022-01-13 22:06:09 +00:00
#include <QVulkanWindowRenderer>
#include <qvulkanfunctions.h>
class VulkanRenderer : public QVulkanWindowRenderer {
public:
2022-01-20 22:37:04 +00:00
explicit VulkanRenderer(QVulkanWindow *window, WorldView *worldView);
2022-01-13 22:06:09 +00:00
void initResources() override;
void releaseResources() override;
2022-01-20 22:37:04 +00:00
void initSwapChainResources() override;
void releaseSwapChainResources() override;
2022-01-13 22:06:09 +00:00
void startNextFrame() override;
private:
QVulkanWindow *m_window;
2022-01-20 22:37:04 +00:00
WorldView *m_worldView;
QVulkanDeviceFunctions *m_devFuncs{};
2022-01-18 20:28:25 +00:00
unsigned long m_frameNumber{0UL};
ShaderLoader m_shaderLoader{};
2022-01-20 22:37:04 +00:00
// UniformBuffers m_uniformBuffers{};
// VkDescriptorSetLayout m_descriptorSetLayout{};
VkPipelineLayout m_pipelineLayout{};
VkPipeline m_graphicsPipeline{};
2022-01-20 22:37:04 +00:00
void createPipeline();
2022-01-13 22:06:09 +00:00
};
#endif // VULKANCPPSETUP_VULKANRENDERER_H