2022-07-02 08:09:59 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "hwrenderer/postprocessing/hw_postprocess.h"
|
2022-12-11 17:30:01 +00:00
|
|
|
#include <zvulkan/vulkanobjects.h>
|
2022-07-02 08:09:59 +00:00
|
|
|
#include <list>
|
|
|
|
|
2022-12-11 17:30:01 +00:00
|
|
|
class VulkanRenderDevice;
|
2022-07-02 08:09:59 +00:00
|
|
|
|
|
|
|
class VkPPShader : public PPShaderBackend
|
|
|
|
{
|
|
|
|
public:
|
2022-12-11 17:30:01 +00:00
|
|
|
VkPPShader(VulkanRenderDevice* fb, PPShader *shader);
|
2022-07-02 08:09:59 +00:00
|
|
|
~VkPPShader();
|
|
|
|
|
|
|
|
void Reset();
|
|
|
|
|
2022-12-11 17:30:01 +00:00
|
|
|
VulkanRenderDevice* fb = nullptr;
|
2022-07-02 08:09:59 +00:00
|
|
|
std::list<VkPPShader*>::iterator it;
|
|
|
|
|
|
|
|
std::unique_ptr<VulkanShader> VertexShader;
|
|
|
|
std::unique_ptr<VulkanShader> FragmentShader;
|
|
|
|
|
|
|
|
private:
|
|
|
|
FString LoadShaderCode(const FString &lumpname, const FString &defines, int version);
|
|
|
|
};
|