38 lines
748 B
C++
Executable file
38 lines
748 B
C++
Executable file
#pragma once
|
|
|
|
#include "common.hpp"
|
|
|
|
class Scene;
|
|
class GFX;
|
|
class GFXCommandBuffer;
|
|
class GFXFramebuffer;
|
|
class GFXPipeline;
|
|
class GFXRenderPass;
|
|
class GFXTexture;
|
|
class RenderTarget;
|
|
|
|
namespace prism {
|
|
class renderer;
|
|
}
|
|
|
|
class SMAAPass {
|
|
public:
|
|
explicit SMAAPass(GFX* gfx);
|
|
|
|
void create_render_target_resources(RenderTarget& target);
|
|
|
|
void render(GFXCommandBuffer* command_buffer, RenderTarget& target);
|
|
|
|
private:
|
|
void create_textures();
|
|
void create_render_pass();
|
|
void create_pipelines();
|
|
|
|
GFXTexture* area_image = nullptr;
|
|
GFXTexture* search_image = nullptr;
|
|
|
|
GFXRenderPass* render_pass = nullptr;
|
|
|
|
GFXPipeline* edge_pipeline = nullptr;
|
|
GFXPipeline* blend_pipeline = nullptr;
|
|
};
|