Voltray Engine Docs
Loading...
Searching...
No Matches
Viewport.h
Go to the documentation of this file.
1#pragma once
2
3#include <imgui.h>
4#include <memory>
5#include "../UI/Panel.h"
7#include "ViewportRenderer.h"
8#include "ViewportInput.h"
9#include "ViewportScene.h"
10
11// Forward declarations
12namespace Editor::Components
13{
14 class Settings;
15}
16
17namespace Editor::Components
18{
28 class Viewport : public Panel
29 {
30 public:
31 Viewport();
32 ~Viewport() = default;
33
34 void Draw() override;
35
40 ViewportScene &GetScene() { return m_Scene; }
41
42 private:
43 void initialize();
44 bool isInitialized() const;
45
46 // Utility classes for focused responsibilities
47 ViewportFramebuffer m_Framebuffer;
48 ViewportRenderer m_Renderer;
49 ViewportInput m_Input;
50 ViewportScene m_Scene;
51
52 // Initialization state
53 bool m_Initialized = false;
54 };
55}
Manages OpenGL framebuffer operations for viewport rendering.
Definition ViewportFramebuffer.h:11
Handles input processing and object selection for the viewport.
Definition ViewportInput.h:16
Handles scene rendering operations for the viewport.
Definition ViewportRenderer.h:18
Manages scene initialization and lifecycle for the viewport.
Definition ViewportScene.h:17
Main viewport component for 3D scene editing.
Definition Viewport.h:29
void Draw() override
Pure virtual function to render the panel.
Definition Viewport.cpp:28
ViewportScene & GetScene()
Get the viewport scene component.
Definition Viewport.h:40
Viewport()
Definition Viewport.cpp:10
Base class for all UI panels in the editor.
Definition Panel.h:19
Represents the Inspector panel component in the Editor.
Definition Console.cpp:7