Files
axyz/include/Engine/Rendering/RenderQueueFactory.h
T
viktorljung ef07a9d536 Merge remote-tracking branch 'origin/master' into Rendering
# Conflicts:
#	include/Engine/Rendering/RenderQueueFactory.h
2015-12-14 19:11:00 +01:00

37 lines
959 B
C++

#ifndef RenderQueueFactory_h__
#define RenderQueueFactory_h__
#include "../Core/World.h"
#include "RenderQueue.h"
#include "../Core/ResourceManager.h"
#include "Model.h"
#include "../GLM.h"
#include "../Core/EventBroker.h"
#include "ESetCamera.h"
class RenderQueueFactory
{
public:
RenderQueueFactory(EventBroker* eventBroker);
void Update(World* world);
RenderQueueCollection RenderQueues() const { return m_RenderQueues; }
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:
EventBroker* m_EventBroker;
RenderQueueCollection m_RenderQueues;
void FillModels(World* world, RenderQueue* renderQueue);
void FillLights(World* world, RenderQueue* renderQueue);
glm::mat4 ModelMatrix(World* world, EntityID entity);
EntityID m_CurrentCamera;
};
#endif