36 lines
956 B
C++
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
|