#pragma once
#include <vector>
struct TransformComponent;
struct MeshComponent;
struct LightComponent;
struct CameraComponent;
using EntityID = uint64_t;
struct RenderLight {
TransformComponent* transform = nullptr;
LightComponent* light = nullptr;
};
struct RenderMesh {
EntityID entity;
MeshComponent* mesh = nullptr;
struct RenderCamera {
CameraComponent* camera = nullptr;
struct RenderCollection {
std::vector<RenderLight> lights;
std::vector<RenderMesh> meshes;
RenderCamera camera;