2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-06-10 19:13:29 +00:00
metaforce/Runtime/Graphics/Shaders/CRadarPaintShader.hpp
Lioncash 902f4fb5c5 Graphics/Shaders: Use forward declarations where applicable
Now, with all of the headers normalized, we can safely convert some
headers into forward declarations without needing to worry about
potentially breaking code in other headers or source files.
2019-11-09 20:22:09 -05:00

36 lines
725 B
C++

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