Voltray Engine Docs
Loading...
Searching...
No Matches
ViewportScene.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include "../../../Engine/Graphics/Camera/BaseCamera.h"
5
6// Forward declarations
7class Scene;
8class BaseCamera;
9class Renderer;
10
11namespace Editor::Components
12{
17 {
18 public:
20 ~ViewportScene(); // Moved destructor declaration to ensure proper cleanup
21
25 void Initialize();
26
31 ::Scene &GetScene() { return *m_Scene; }
32
37 ::BaseCamera &GetCamera() { return *m_Camera; }
38
43 ::Renderer &GetRenderer() { return *m_Renderer; }
44
49 bool IsInitialized() const;
50
56 void UpdateCameraAspect(int width, int height);
57
65 void SetCameraViewportBounds(float x, float y, float width, float height);
66
71 void SwitchCamera(CameraType type);
72
78 void UpdateCameraSettings(float fov, float orthoSize, float nearPlane, float farPlane);
79
85
86 private:
87 void createDemoScene();
88 void loadDemoModel();
89
90 std::unique_ptr<::Scene> m_Scene;
91 std::unique_ptr<::BaseCamera> m_Camera;
92 std::unique_ptr<::Renderer> m_Renderer;
93 };
94}
CameraType
Enumeration of all supported camera types.
Definition BaseCamera.h:17
Abstract base class for all camera types.
Definition BaseCamera.h:34
Manages scene initialization and lifecycle for the viewport.
Definition ViewportScene.h:17
void UpdateCameraAspect(int width, int height)
Update camera aspect ratio.
Definition ViewportScene.cpp:47
void SetCameraViewportBounds(float x, float y, float width, float height)
Set camera viewport bounds for input handling.
Definition ViewportScene.cpp:56
void Initialize()
Initialize the scene with demo objects.
Definition ViewportScene.cpp:25
void SwitchCamera(CameraType type)
Switch to a different camera type.
Definition ViewportScene.cpp:135
bool IsInitialized() const
Check if scene is properly initialized.
Definition ViewportScene.cpp:42
~ViewportScene()
Definition ViewportScene.cpp:20
::Renderer & GetRenderer()
Get the renderer instance.
Definition ViewportScene.h:43
::BaseCamera & GetCamera()
Get the camera instance.
Definition ViewportScene.h:37
ViewportScene()
Definition ViewportScene.cpp:15
CameraType GetCurrentCameraType() const
Get current camera type.
Definition ViewportScene.cpp:183
void UpdateCameraSettings(float fov, float orthoSize, float nearPlane, float farPlane)
Update camera settings.
Definition ViewportScene.cpp:161
::Scene & GetScene()
Get the scene instance.
Definition ViewportScene.h:31
Responsible for rendering mesh objects using specified shaders.
Definition Renderer.h:19
Manages a collection of scene objects and provides rendering functionality.
Definition Scene.h:19
Represents the Inspector panel component in the Editor.
Definition Console.cpp:7