Added RenderSystem and removed RenderQueueFactory
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#ifndef RenderSystem_h__
|
||||
#define RenderSystem_h__
|
||||
|
||||
#include "../Core/System.h"
|
||||
#include "RenderQueue.h"
|
||||
#include "../GLM.h"
|
||||
#include "../OpenGL.h"
|
||||
#include "../Core/ResourceManager.h"
|
||||
#include "ESetCamera.h"
|
||||
#include "Model.h"
|
||||
|
||||
class RenderSystem : public ImpureSystem
|
||||
{
|
||||
public:
|
||||
RenderSystem(EventBroker* eventBrokerer, RenderQueueCollection* renderQueues);
|
||||
|
||||
virtual void Update(World* world, double dt) override;
|
||||
|
||||
static glm::vec3 AbsolutePosition(World* world, EntityID entity);
|
||||
static glm::quat AbsoluteOrientation(World* world, EntityID entity);
|
||||
static glm::vec3 AbsoluteScale(World* world, EntityID entity);
|
||||
|
||||
private:
|
||||
RenderQueueCollection* m_RenderQueues;
|
||||
|
||||
void Initialize();
|
||||
|
||||
glm::mat4 ModelMatrix(World* world, EntityID entity);
|
||||
|
||||
void FillModels(World* world, RenderQueue* renderQueue);
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user