CG-Project2
Loading...
Searching...
No Matches
AppGui.hpp
1#pragma once
2
3#include "../../Opengl-Core/include/Core.hpp"
4#include "../../Opengl-Core/include/Graphic.hpp"
5
6using namespace ogl;
7
8const auto CAMERA_UPDATE_DATA = Event("Camera Update Data");
9const auto CAMERA_RESET_POSITION = Event("Camera Reset Position");
10const auto NORMAL_VIEW_OPEN = Event("Open Normal View");
11const auto NORMAL_VIEW_CLOSE = Event("Close Normal View");
12
13class ImGuiEntityTree : public ImGuiPanel {
14public:
15 virtual void onRender() override;
16
17 void setSelectedEntity(const int &ett) { this->m_inputEtt = ett; }
18
19 ImGuiEntityTree() :
20 ImGuiPanel("Entity Tree") {
21 }
22
23 virtual ~ImGuiEntityTree() override = default;
24
25private:
26 int m_inputEtt = -1;
27 unsigned int m_selectedMaterial = 0;
28};
29
30class ImGuiNormalView : public ImGuiPanel {
31public:
32 virtual void onRender() override;
33
34 void processInput();
35
36 ImGuiNormalView();
37 virtual ~ImGuiNormalView() override = default;
38
39private:
40 Unique<ogl::FrameBuffer> m_fbo;
41 ogl::Texture m_text;
42 Unique<ogl::ShaderProgram> m_shader;
43 Unique<ogl::ShaderProgram> m_nshader;
44 Unique<ogl::Camera> m_npcam;
45
46 void resetCamera();
47};
Definition Event.hpp:13
Definition Texture.hpp:8