First iteration of GUI code. GUI is rendered on top of everything, world still separate.

This commit is contained in:
2015-09-22 14:39:08 +02:00
parent 0e6fcfb2ba
commit 1d500eb4f6
12 changed files with 855 additions and 54 deletions
+21 -4
View File
@@ -22,8 +22,9 @@
#include <cstdint>
#include <forward_list>
#include "Texture.h"
#include "Model.h"
#include "Core/Util/Rectangle.h"
#include "Core/Texture.h"
#include "Core/Model.h"
namespace dd
{
@@ -52,8 +53,8 @@ struct ModelJob : RenderJob
unsigned int ShaderID;
unsigned int TextureID;
std::string fileName;
glm::mat4 ProjectionMatrix;
glm::mat4 ViewMatrix;
glm::mat4 ModelMatrix;
GLuint DiffuseTexture;
GLuint NormalTexture;
@@ -90,6 +91,8 @@ struct SpriteJob : RenderJob
unsigned int ShaderID;
unsigned int TextureID;
glm::mat4 ProjectionMatrix;
glm::mat4 ViewMatrix;
glm::mat4 ModelMatrix;
GLuint DiffuseTexture;
GLuint NormalTexture;
@@ -115,6 +118,17 @@ struct PointLightJob : RenderJob
}
};
struct FrameJob : SpriteJob
{
Rectangle Scissor;
Rectangle Viewport;
void CalculateHash() override
{
Hash = 0;
}
};
class RenderQueue
{
public:
@@ -153,12 +167,14 @@ struct RenderQueueCollection
RenderQueue Deferred;
RenderQueue Forward;
RenderQueue Lights;
RenderQueue GUI;
void Clear()
{
Deferred.Clear();
Forward.Clear();
Lights.Clear();
GUI.Clear();
}
void Sort()
@@ -166,6 +182,7 @@ struct RenderQueueCollection
Deferred.Sort();
Forward.Sort();
Lights.Sort();
GUI.Sort();
}
};