// BlockyFroggy
// Copyright © 2017 John Ryland.
// All rights reserved.
#pragma once
#ifndef HUD_RENDER_LAYER_H
#define HUD_RENDER_LAYER_H
#include "RenderLayer.h"
#include "OpenGL.h"
#include <vector>
class HUDRenderLayer : public RenderLayer
{
public:
HUDRenderLayer();
~HUDRenderLayer() override;
void initialize() override;
void update(float a_dt) override;
void draw() override;
private:
GLuint m_hudVertexBuffer;
GLuint m_hudTexId = 0;
int m_hudItemCount = 0;
struct HudItem {
HudItem(int _x, int _y, int _chX, int _chY, int _a, int _b, uint32_t _col) {
x = _x + _a*2; y = _y + _b*2; chX = _chX + _a; chY = _chY + _b; r = (_col>>16)&0xff; g = (_col>>8)&0xff; b = (_col>>0)&0xff;
}
float x,y; float chX,chY; float r,g,b;
};
std::vector<HudItem> m_items;
};
#endif // HUD_RENDER_LAYER_H