#pragma once #include "zeus/CMatrix4f.hpp" #include "zeus/CColor.hpp" #include "zeus/CRectangle.hpp" #include "Camera/CCameraFilter.hpp" namespace urde { class CRadarPaintShader { public: struct Instance { zeus::CVector3f pos[4]; zeus::CVector2f uv[4]; zeus::CColor color; }; private: boo::ObjToken m_vbo; boo::ObjToken m_uniBuf; boo::ObjToken m_dataBind; const CTexture* m_tex = nullptr; size_t m_maxInsts = 0; public: static void Initialize(); static void Shutdown(); void draw(const std::vector& instances, const CTexture* tex); }; }