#pragma once #include #include #include #include #include #include namespace metaforce { class CTexture; class CRadarPaintShader { public: struct Instance { std::array pos; std::array uv; 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); }; } // namespace metaforce