cpp-vulkan-setup/src/VulkanRenderer.h

36 lines
956 B
C++

#ifndef VULKANCPPSETUP_VULKANRENDERER_H
#define VULKANCPPSETUP_VULKANRENDERER_H
#include "WorldView.h"
#include "ShaderLoader.h"
#include "UniformBuffers.h"
#include <QVulkanWindowRenderer>
#include <qvulkanfunctions.h>
class VulkanRenderer : public QVulkanWindowRenderer {
public:
explicit VulkanRenderer(QVulkanWindow *window, WorldView *worldView);
void initResources() override;
void releaseResources() override;
void initSwapChainResources() override;
void releaseSwapChainResources() override;
void startNextFrame() override;
private:
QVulkanWindow *m_window;
WorldView *m_worldView;
QVulkanDeviceFunctions *m_devFuncs{};
unsigned long m_frameNumber{0UL};
ShaderLoader m_shaderLoader{};
// UniformBuffers m_uniformBuffers{};
// VkDescriptorSetLayout m_descriptorSetLayout{};
VkPipelineLayout m_pipelineLayout{};
VkPipeline m_graphicsPipeline{};
void createPipeline();
};
#endif // VULKANCPPSETUP_VULKANRENDERER_H