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
|
|
|
|
|
|
|
class VkPPRenderPassSetup;
|
|
|
|
class VkPPShader;
|
|
|
|
class VkPPTexture;
|
|
|
|
class VkTextureImage;
|
2022-12-11 17:30:01 +00:00
|
|
|
class VulkanRenderDevice;
|
2022-07-02 08:09:59 +00:00
|
|
|
|
|
|
|
class VkPPRenderState : public PPRenderState
|
|
|
|
{
|
|
|
|
public:
|
2022-12-11 17:30:01 +00:00
|
|
|
VkPPRenderState(VulkanRenderDevice* fb);
|
2022-07-02 08:09:59 +00:00
|
|
|
|
|
|
|
void PushGroup(const FString &name) override;
|
|
|
|
void PopGroup() override;
|
|
|
|
|
|
|
|
void Draw() override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
void RenderScreenQuad(VkPPRenderPassSetup *passSetup, VulkanDescriptorSet *descriptorSet, VulkanFramebuffer *framebuffer, int framebufferWidth, int framebufferHeight, int x, int y, int width, int height, const void *pushConstants, uint32_t pushConstantsSize, bool stencilTest);
|
|
|
|
|
2022-12-11 17:30:01 +00:00
|
|
|
VulkanRenderDevice* fb = nullptr;
|
2022-07-02 08:09:59 +00:00
|
|
|
};
|