KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Renderer.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "krpch.h"
13
14#include "RenderCommand.h"
16#include "glm/glm.hpp"
17#include "Renderer/Scene.h"
18
19namespace Karma
20{
25 {
26 public:
45 static void BeginScene(std::shared_ptr<Scene> scene);
46
52 static void EndScene();
53
59 static void Submit(std::shared_ptr<Scene> scene);
60
66 inline static RendererAPI::API GetAPI() { return RendererAPI::GetAPI(); }
67
73 static void DeleteData();
74
75 private:
76 // Needs to be in Scene class
77 struct SceneData
78 {
79 glm::mat4 ProjectionMatrix;
80 };
81
82 static SceneData* m_SceneData;
83 };
84}
This file contains Camera class.
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
This file contains the class RenderCommand.
This file contains the class Scene.
static API GetAPI()
Getter for rendering api being used.
Definition RendererAPI.h:102
API
The rendering API used by the Engine.
Definition RendererAPI.h:29
An overlay, if I may consider, for RenderCommand, used for rendering a scene using a renderer (vulkan...
Definition Renderer.h:25
static RendererAPI::API GetAPI()
Getter for the rendering API.
Definition Renderer.h:66
static void EndScene()
The clearing of resources, if any, at the end of frame.
Definition Renderer.cpp:12
static void BeginScene(std::shared_ptr< Scene > scene)
Setting up resources for rendering of a scene.
Definition Renderer.cpp:7
static void Submit(std::shared_ptr< Scene > scene)
Submitting a scene for rendering.
Definition Renderer.cpp:17