Voltray Engine Docs
Loading...
Searching...
No Matches
ViewportRenderer.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <glad/gl.h>
5
6// Forward declarations
7class BaseCamera;
8class Scene;
9class Renderer;
10class Shader;
11
12namespace Editor::Components
13{
18 {
19 public:
21 ~ViewportRenderer(); // Moved destructor declaration to ensure proper cleanup
22
26 void Initialize();
27
36 void RenderScene(::Scene &scene, ::BaseCamera &camera, ::Renderer &renderer, int width, int height);
37
42 bool IsInitialized() const;
43
44 private:
45 void renderSkybox(::BaseCamera &camera);
46 void renderSceneObjects(::Scene &scene, ::BaseCamera &camera, ::Renderer &renderer);
47 void renderSelectionOutlines(::Scene &scene, ::BaseCamera &camera);
48
49 // Shader resources
50 std::unique_ptr<::Shader> m_Shader;
51 std::unique_ptr<::Shader> m_SkyboxShader;
52 std::unique_ptr<::Shader> m_OutlineShader;
53 };
54}
Abstract base class for all camera types.
Definition BaseCamera.h:34
Handles scene rendering operations for the viewport.
Definition ViewportRenderer.h:18
ViewportRenderer()
Definition ViewportRenderer.cpp:12
bool IsInitialized() const
Check if renderer is properly initialized.
Definition ViewportRenderer.cpp:99
void Initialize()
Initialize the renderer with required shaders.
Definition ViewportRenderer.cpp:22
void RenderScene(::Scene &scene, ::BaseCamera &camera, ::Renderer &renderer, int width, int height)
Render the complete scene.
Definition ViewportRenderer.cpp:75
~ViewportRenderer()
Definition ViewportRenderer.cpp:17
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
Encapsulates an OpenGL shader program, handling compilation, linking, and usage.
Definition Shader.h:14
Represents the Inspector panel component in the Editor.
Definition Console.cpp:7