Files
axyz/include/Engine/Rendering/RenderQueueFactory.h
T

37 lines
942 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; }
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);
glm::vec3 AbsolutePosition(World* world, EntityID entity);
glm::quat AbsoluteOrientation(World* world, EntityID entity);
glm::vec3 AbsoluteScale(World* world, EntityID entity);
EntityID m_CurrentCamera;
};
#endif