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/imguipass.hpp

32 lines
753 B
C++
Raw Normal View History

2020-08-11 12:07:21 -04:00
#pragma once
#include <string_view>
#include "pass.hpp"
#include "file.hpp"
2020-08-11 12:07:21 -04:00
class GFXBuffer;
class GFXCommandBuffer;
class GFXPipeline;
class GFXTexture;
struct ImDrawData;
class ImGuiPass : public Pass {
public:
void initialize() override;
void create_render_target_resources(RenderTarget& target) override;
2020-08-11 12:07:21 -04:00
void render_post(GFXCommandBuffer* command_buffer, RenderTarget& target, const platform::window_ptr index) override;
2020-08-11 12:07:21 -04:00
private:
void load_font(const std::string_view filename);
void create_font_texture();
void update_buffers(RenderTarget& target, const ImDrawData& draw_data);
std::unique_ptr<prism::file> font_file;
2020-08-11 12:07:21 -04:00
GFXPipeline* pipeline = nullptr;
GFXTexture* font_texture = nullptr;
};