diff options
Diffstat (limited to 'src/rendering/render_path.h')
| -rw-r--r-- | src/rendering/render_path.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/rendering/render_path.h b/src/rendering/render_path.h new file mode 100644 index 0000000..abe7db2 --- /dev/null +++ b/src/rendering/render_path.h @@ -0,0 +1,33 @@ +#pragma once + +#include "rhi.h" +#include "view.h" +#include "scene_renderer.h" +#include "black_hole_renderer.h" +#include "core/memory.h" + +#include <string> + +namespace Donut +{ + class Scene; + + class RenderPath + { + public: + auto init(RHI::Device& device, const std::string& hdri_path) -> bool; + auto shutdown() -> void; + + auto sync_hdri(const std::string& hdri_path) -> void; + + auto render(RHI::CommandList& cmd, Scene& scene, View view, + int fb_width, int fb_height, bool moving, float time) -> void; + + private: + RHI::Device* m_device = nullptr; + Scope<SceneRenderer> m_scene_renderer; + Scope<BlackHoleRenderer> m_black_hole_renderer; + Ref<RHI::Texture> m_cubemap; + std::string m_hdri_path; + }; +} |
