2018-10-06 20:42:33 -07:00
|
|
|
#pragma once
|
2016-08-03 14:53:03 -07:00
|
|
|
|
2019-09-28 19:22:12 -07:00
|
|
|
#include <array>
|
|
|
|
|
2022-01-31 16:06:54 -08:00
|
|
|
//#include <boo/graphicsdev/IGraphicsDataFactory.hpp>
|
2019-09-27 19:53:03 -07:00
|
|
|
|
|
|
|
#include <zeus/CColor.hpp>
|
2016-08-03 14:53:03 -07:00
|
|
|
|
2021-04-10 01:42:06 -07:00
|
|
|
namespace metaforce {
|
2016-08-03 14:53:03 -07:00
|
|
|
|
2018-12-07 21:30:43 -08:00
|
|
|
class CThermalHotFilter {
|
|
|
|
struct Uniform {
|
2019-09-28 19:22:12 -07:00
|
|
|
std::array<zeus::CColor, 3> m_colorRegs;
|
2018-12-07 21:30:43 -08:00
|
|
|
};
|
2022-01-31 16:06:54 -08:00
|
|
|
// boo::ObjToken<boo::IGraphicsBufferS> m_vbo;
|
|
|
|
// boo::ObjToken<boo::IGraphicsBufferD> m_uniBuf;
|
|
|
|
// boo::ObjToken<boo::IShaderDataBinding> m_dataBind;
|
2018-12-07 21:30:43 -08:00
|
|
|
Uniform m_uniform;
|
2016-08-03 14:53:03 -07:00
|
|
|
|
|
|
|
public:
|
2018-12-07 21:30:43 -08:00
|
|
|
static void Initialize();
|
|
|
|
static void Shutdown();
|
|
|
|
CThermalHotFilter();
|
|
|
|
void setColorA(const zeus::CColor& color) { m_uniform.m_colorRegs[0] = color; }
|
|
|
|
void setColorB(const zeus::CColor& color) { m_uniform.m_colorRegs[1] = color; }
|
|
|
|
void setColorC(const zeus::CColor& color) { m_uniform.m_colorRegs[2] = color; }
|
|
|
|
void draw();
|
2016-08-03 14:53:03 -07:00
|
|
|
};
|
|
|
|
|
2021-04-10 01:42:06 -07:00
|
|
|
} // namespace metaforce
|