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 "RenderCommand.h"
14#include "glm/glm.hpp"
15#include "Renderer/Scene.h"
16
17namespace Karma
18{
23 {
24 public:
43 static void BeginScene(std::shared_ptr<Scene> scene);
44
50 static void EndScene();
51
57 static void Submit(std::shared_ptr<Scene> scene);
58
64 inline static RendererAPI::API GetAPI() { return RendererAPI::GetAPI(); }
65
71 static void DeleteData();
72
73 private:
74 // Needs to be in Scene class
75 struct SceneData
76 {
77 glm::mat4 ProjectionMatrix;
78 };
79
80 static SceneData* m_SceneData;
81 };
82}
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:100
API
The rendering API used by the Engine.
Definition RendererAPI.h:27
An overlay, if I may consider, for RenderCommand, used for rendering a scene using a renderer (vulkan...
Definition Renderer.h:23
static RendererAPI::API GetAPI()
Getter for the rendering API.
Definition Renderer.h:64
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