❖
Monad Engine
da02fba2
>
Undercity Codex
_
Loading...
Searching...
No Matches
RenderQueue.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "Common.h"
4
#include <glm/mat4x4.hpp>
5
#include <vector>
6
#include <memory>
7
8
namespace
eng
9
{
10
class
Mesh;
11
class
Material;
12
class
GraphicsAPI;
13
class
Texture;
14
15
struct
RenderCommand
16
{
17
Mesh
*
mesh
=
nullptr
;
18
Material
*
material
=
nullptr
;
19
glm::mat4
modelMatrix
;
20
};
21
22
struct
RenderCommand2D
23
{
24
glm::mat4
modelMatrix
;
25
Texture
*
texture
=
nullptr
;
26
glm::vec4
color
;
27
glm::vec2
size
;
28
glm::vec2
lowerLeftUV
;
29
glm::vec2
upperRightUV
;
30
glm::vec2
pivot
;
31
};
32
33
class
RenderQueue
34
{
35
public
:
36
void
Init
();
37
void
Submit
(
const
RenderCommand
& command);
38
void
Submit
(
const
RenderCommand2D
& command);
39
void
Draw
(
GraphicsAPI
& graphicsAPI,
const
CameraData
& cameraData,
const
std::vector<LightData>& lights);
40
41
private
:
42
std::vector<RenderCommand> m_commands;
43
std::vector<RenderCommand2D> m_commands2D;
44
std::shared_ptr<Mesh> m_mesh2D;
45
};
46
}
eng::GraphicsAPI
Definition
GraphicsAPI.h:22
eng::Material
Definition
Material.h:14
eng::Mesh
Definition
Mesh.h:13
eng::RenderQueue
Definition
RenderQueue.h:34
eng::RenderQueue::Init
void Init()
Definition
RenderQueue.cpp:9
eng::RenderQueue::Submit
void Submit(const RenderCommand &command)
Definition
RenderQueue.cpp:14
eng::RenderQueue::Draw
void Draw(GraphicsAPI &graphicsAPI, const CameraData &cameraData, const std::vector< LightData > &lights)
Definition
RenderQueue.cpp:24
eng::Texture
Definition
Texture.h:11
eng
Definition
Application.cpp:4
eng::CameraData
Definition
Common.h:9
eng::RenderCommand2D
Definition
RenderQueue.h:23
eng::RenderCommand2D::size
glm::vec2 size
Definition
RenderQueue.h:27
eng::RenderCommand2D::texture
Texture * texture
Definition
RenderQueue.h:25
eng::RenderCommand2D::color
glm::vec4 color
Definition
RenderQueue.h:26
eng::RenderCommand2D::modelMatrix
glm::mat4 modelMatrix
Definition
RenderQueue.h:24
eng::RenderCommand2D::lowerLeftUV
glm::vec2 lowerLeftUV
Definition
RenderQueue.h:28
eng::RenderCommand2D::pivot
glm::vec2 pivot
Definition
RenderQueue.h:30
eng::RenderCommand2D::upperRightUV
glm::vec2 upperRightUV
Definition
RenderQueue.h:29
eng::RenderCommand
Definition
RenderQueue.h:16
eng::RenderCommand::material
Material * material
Definition
RenderQueue.h:18
eng::RenderCommand::modelMatrix
glm::mat4 modelMatrix
Definition
RenderQueue.h:19
eng::RenderCommand::mesh
Mesh * mesh
Definition
RenderQueue.h:17
docs
GD-Engine-lesson-5-2
engine
source
render
RenderQueue.h
Generated by
1.9.8