Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
prism/engine/renderer/include/pass.hpp

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; }
};