31 lines
853 B
C++
Executable file
31 lines
853 B
C++
Executable file
#pragma once
|
|
|
|
#include "common.hpp"
|
|
#include "platform.hpp"
|
|
|
|
class GFXCommandBuffer;
|
|
class Scene;
|
|
|
|
enum class PassTextureType {
|
|
SelectionSobel
|
|
};
|
|
|
|
class GFXTexture;
|
|
class RenderTarget;
|
|
|
|
class Pass {
|
|
public:
|
|
virtual ~Pass() = default;
|
|
|
|
virtual void initialize() {}
|
|
|
|
virtual void create_render_target_resources([[maybe_unused]] RenderTarget& target) {}
|
|
|
|
virtual void render_scene([[maybe_unused]] Scene& scene,
|
|
[[maybe_unused]] GFXCommandBuffer* commandBuffer) {}
|
|
virtual void render_post([[maybe_unused]] GFXCommandBuffer* commandBuffer,
|
|
[[maybe_unused]] RenderTarget& target,
|
|
[[maybe_unused]] platform::window_ptr index) {}
|
|
|
|
virtual GFXTexture* get_requested_texture([[maybe_unused]] PassTextureType type) { return nullptr; }
|
|
};
|