#pragma once #include #include #include "zeus/CColor.hpp" #include "zeus/CVector2f.hpp" #include "zeus/CVector3f.hpp" namespace urde { class CTexture; class CRadarPaintShader { public: struct Instance { std::array pos; std::array uv; zeus::CColor color; }; struct Uniform { hsh::float4x4 xf; }; private: hsh::dynamic_owner> m_vbo; hsh::dynamic_owner> m_uniBuf; hsh::binding m_dataBind; const CTexture* m_tex = nullptr; size_t m_maxInsts = 0; public: void draw(const std::vector& instances, const CTexture* tex); }; } // namespace urde