Meteor2D  dev internal
Meteor is a lightweight 2D game engine.
All Classes Functions Variables Pages
renderqueue.h
1#pragma once
2#include<iostream>
3#include<vector>
4#include <entities/entity.h>
5#include<rendering/rendercommand.h>
6
7namespace meteor {
11 class MRenderQueue : public MEntity {
12 public:
13 MRenderQueue() : worldQueue{}, uiQueue{}, debugQueue{} {}
15 void submit(MRenderCommand* cmd);
16 bool hasNext(ERenderLayer layer);
17 void prepare();
18 MRenderCommand* next(ERenderLayer layer);
19 static MRenderQueue* getQueue();
20 private:
21 std::vector<MRenderCommand*> worldQueue;
22 std::vector<MRenderCommand*> uiQueue;
23 std::vector<MRenderCommand*> debugQueue;
24 static MRenderQueue* activeQueue;
25 };
26}
An Entity is the base class for all data and behaviour oriented objects in meteor....
Definition entity.h:9
RenderCommand are responsible for rendering visuals to the screen.
Definition rendercommand.h:10
Maintains a sorted queue of all render commands submitted for rendering.
Definition renderqueue.h:11