#pragma once #include //#include #include #include #include #include namespace metaforce { class CEnvFxManager; class CEnvFxManagerGrid; class CEnvFxShaders { public: struct Instance { std::array positions; zeus::CColor color; std::array uvs; }; struct Uniform { zeus::CMatrix4f mv; zeus::CMatrix4f proj; zeus::CMatrix4f envMtx; zeus::CColor moduColor; }; private: // static boo::ObjToken m_snowPipeline; // static boo::ObjToken m_underwaterPipeline; public: static void Initialize(); static void Shutdown(); static void BuildShaderDataBinding(CEnvFxManager& fxMgr, CEnvFxManagerGrid& grid); }; } // namespace metaforce