mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-06-10 17:13:28 +00:00
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.
40 lines
908 B
C++
40 lines
908 B
C++
#pragma once
|
|
|
|
#include <boo/graphicsdev/IGraphicsDataFactory.hpp>
|
|
|
|
#include <zeus/CColor.hpp>
|
|
#include <zeus/CMatrix4f.hpp>
|
|
#include <zeus/CVector2f.hpp>
|
|
#include <zeus/CVector3f.hpp>
|
|
|
|
namespace urde {
|
|
class CEnvFxManager;
|
|
class CEnvFxManagerGrid;
|
|
|
|
class CEnvFxShaders {
|
|
public:
|
|
struct Instance {
|
|
zeus::CVector3f positions[4];
|
|
zeus::CColor color;
|
|
zeus::CVector2f uvs[4];
|
|
};
|
|
struct Uniform {
|
|
zeus::CMatrix4f mv;
|
|
zeus::CMatrix4f proj;
|
|
zeus::CMatrix4f envMtx;
|
|
zeus::CColor moduColor;
|
|
};
|
|
|
|
private:
|
|
static boo::ObjToken<boo::IShaderPipeline> m_snowPipeline;
|
|
static boo::ObjToken<boo::IShaderPipeline> m_underwaterPipeline;
|
|
|
|
public:
|
|
static void Initialize();
|
|
static void Shutdown();
|
|
static void BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx, CEnvFxManager& fxMgr,
|
|
CEnvFxManagerGrid& grid);
|
|
};
|
|
|
|
} // namespace urde
|